말랑말랑제리스타일

백준 1152번 파이썬 한줄로 풀기 본문

프로그래밍/백준 알고리즘

백준 1152번 파이썬 한줄로 풀기

제리제리 2022. 2. 15. 14:19

파이썬 1152번은 배열에 저장하는 문제로 파이썬의 경우 단 한 줄로 풀 수 있습니다.

상당히 기초적인 문제로 문장에 들어간 단어 개수를 구하는 문제죠.

파이썬에서는 리스트를 지원하는 len과 split 메서드로 단 한줄로도 구현이 가능한데 지금부터 풀어보겠습니다.

백준 1152번 파이썬 한 줄 소스

반응형
print(len(input().split()))

위 파이썬 소스 한줄이면 백준 1152번을 풀 수 있는데요.

이 소스를 간단히 설명하면 input 된 값을 split 해주면 자동으로 리스트로 저장하게 됩니다.

이 리스트의 길이를 len으로 추출해 print로 출력만 해주면 되는 소스인데요.

간단히 파이썬 한줄로 구현 가능합니다.

백준 1152번 해석

위에 작선한 백준 1152번 파이썬 소스를 좀 더 기능적으로 나누어 변수에 저장하면서 단계별로 찍어보면 아래와 같이 구현할 수 있습니다.

반응형

각각의 단계에서 저장된 변수 내용과 변수 타입을 print로 찍어보았습니다.

in_str = input()
print(in_str)
print(type(in_str))
in_list = in_str.split()
print(in_list)
print(type(in_list))
out_n = len(in_list)
print(out_n)
print(type(out_n))

먼저 결과값을 보면 아래와 같이 출력되는데요.

반응형

 

The Curious Case of Benjamin Button
<class 'str'>
['The', 'Curious', 'Case', 'of', 'Benjamin', 'Button']
<class 'list'>
6
<class 'int'>

 

input으로 받은 변수는 str 타입이고 입력한 문자열이 그대로 저장됩니다.

여기서 split 메서드를 사용해서 다른 변수에 저장하면 해당 변수는 띄어쓰기 기준으로 쪼개지고 list 타입으로 저장이 되죠.

마지막으로 이 리스트의 길이를 len 함수를 사용해서 구해주면 int 타입의 결괏값을 얻을 수 있습니다.

백준 1152번 알고리즘 문제의 경우 C나 Java에서는 기본적으로 문자열을 tokenize 해주는 기능이 없어 까다로울 수 있지만 파이썬을 이용하면 위 소스와 같이 단 한 줄로도 풀 수 있는 문제입니다.

반응형
Comments