문제 설명
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
제한 조건
- n은 길이 10,000이하인 자연수입니다.
def solution(n):
return ''.join(['수' if i % 2 == 0 else '박' for i in range(n)])
- 파이썬의 최대 장점인 리스트 컴프리헨션을 활용해서 풀고자 했다. 리스트 컴프리헨션을 통해 좋은 가독성을 유지하면서 짧은 코드로 문제를 해결할 수 있다.
- 프로그래머스 쉬운문제들의 대부분은 파이썬으로는 한줄로 끝낼 수 있었고, 이 문제도 그럴 수 있을거라고 생각했다. 그러나 컴프리헨션에서 조건은 항상 뒤에만 넣어왔기때문에 조금 난해했다.
- 이 글을 쓰는 이유가 위 때문이다. 여러개의 조건을 넣으려면 앞에 조건을 주어 해결할 수 있다는 것을 이번 기회에 알게되었다.
참고
'Problem Solving > Programmers' 카테고리의 다른 글
<Level 2> 다음 큰 숫자 with JS (0) | 2021.08.19 |
---|---|
<Level 2> 숫자의 표현 with JS (0) | 2021.08.16 |
<Level 3> N으로 표현 with 파이썬 (0) | 2021.07.13 |
<Level 3> 구명보트 with 파이썬 (0) | 2021.07.10 |
<Level 2> 구명보트 with 파이썬 (0) | 2021.07.08 |