문제
영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다.
입력
첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열은 공백으로 시작하거나 끝날 수 있다.
출력
첫째 줄에 단어의 개수를 출력한다.
코드
a=list(input().split())
print(len(a))
관련 개념 정리
list
list함수는 반복 가능한 자료형을 받아 리스트로 만들어 주는 함수입니다.
list(반복 가능한 자료형)
위와 같은 형태로 사용 가능합니다.
print(list("배고파"))
#['배', '고', '파']
print(list((1,6,3)))
#[1, 6, 3]
print(list([3,5,2]))
#[3, 5, 2]
문자열을 입력 받은 경우에는 한글자씩 쪼개서 리스트를 만듭니다.
숫자로 된 리스트를 만들기 위해서는 ,(쉼표) 로 구분해서 ()괄호 안에 입력하면 됩니다.
list에 list를 입력한 경우에는 아무런 변화 없이 입력한 list를 그대로 retrun합니다.
input
파이썬에서는 값을 사용자로부터 입력받을때 input함수를 사용합니다.
입력받은 값을 넣을 변수 이름 = input("띄울 메세지")
단! input함수는 입력받은 모든 내용을 문자열로 인식합니다. 따라서 입력받은 내용을 정수로 변환하려면
d = int(input())
와 같은 형태로 작성하거나, 나중에 변수를 사용할때
print(int(d)+2)
와 같이 int()로 감싸서 작성할 수 있습니다.
split
또한 값을 입력받을 때, 한 번에 여러 값을 입력받을 수 있습니다.
그때 사용할 수 있는 함수가 바로 split 함수입니다.
split할 변수 이름.split('구분자')
만약 split()일 경우, space, tap, enter와 같은 공백을 기준으로 문자열을 나눕니다.
'코딩공부 > 알고리즘' 카테고리의 다른 글
[파이썬 풀이] 백준 5622.다이얼 (0) | 2021.12.05 |
---|---|
[파이썬 풀이] 백준 2908.상수 (0) | 2021.12.05 |
[파이썬 풀이] 백준 1157.단어 공부 (0) | 2021.12.01 |
[파이썬 풀이] 백준 2675.문자열 반복 (2) | 2021.11.29 |
[파이썬 풀이] 백준 10809.알파벳 찾기 (0) | 2021.11.29 |