본문 바로가기

Problem Solving/Programmers

<Level 1> 수박수박수박수박수박수 with 파이썬

문제 설명

길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.

제한 조건

  • n은 길이 10,000이하인 자연수입니다.
def solution(n):
    return ''.join(['수' if i % 2 == 0 else '박' for i in range(n)])

 

 - 파이썬의 최대 장점인 리스트 컴프리헨션을 활용해서 풀고자 했다. 리스트 컴프리헨션을 통해 좋은 가독성을 유지하면서 짧은 코드로 문제를 해결할 수 있다.

 

 - 프로그래머스 쉬운문제들의 대부분은 파이썬으로는 한줄로 끝낼 수 있었고, 이 문제도 그럴 수 있을거라고 생각했다. 그러나 컴프리헨션에서 조건은 항상 뒤에만 넣어왔기때문에 조금 난해했다.

 

 - 이 글을 쓰는 이유가 위 때문이다. 여러개의 조건을 넣으려면 앞에 조건을 주어 해결할 수 있다는 것을 이번 기회에 알게되었다.

 

 


 

 

 

참고

 

 

코딩테스트 연습 - 수박수박수박수박수박수?

길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한

programmers.co.kr