jyamethyst21 님의 블로그

프로그래머스 - '수박수박수박수박수박수?' (PYTHON 풀이) 본문

CODING 💻

프로그래머스 - '수박수박수박수박수박수?' (PYTHON 풀이)

jyamethyst21 2026. 5. 3. 01:11

문제:

 

길이가 주어질 때, 길이에 맞게 수박수박... 을 출력하면 된다.

n은 곧 한 글자를 의미하기 때문에 n이 2이면 '수박'을 출력하면 된다.

 

풀이:

def solution(N):
    n1 = '수박'
    if N % 2 == 0:
        result = (N // 2) * n1
    elif N == 1:
        result = n1[0]
    elif N % 2 != 0:
        result = (N // 2) * n1 + n1[0]

    return result

n1에 출력할 문자열 전체인 수박을 대입하고, 입력받은 N의 값이 홀수인지, 1인지, 짝수인지를 파악해서 조건을 만들었다.

먼저 0으로 나눈 나머지가 0인 경우(짝수인 경우) 입력받은 N의 값을 2로 나눈 몫만큼 수박을 출력하면 된다. 예를 들어 N이 4인 경우 4//2 = 2가 되므로 '수박수박'이 출력된다.

다음으로 N이 1인 경우는 예외 사항으로 수박의 첫 번째 글자인 '수'만 출력하도록 하였다.

마지막으로 2로 나눈 나머지가 0이 아닌 경우(홀수인 경우) 2로 나눈 몫만큼 N을 곱하고 첫 번째 글자인 수를 이어붙이도록 하였다.

예를 들어 N이 5인 경우 5//2 = 2가 되고 2*수박이 되어 '수박수박'이 된다. 이후 n1[0]인 '수'를 붙여야하므로 '수박수박수'가 된다.