소소한 컴퓨터 이야기

수박수박수박수박수 ?

by Cori

문제

길이가 n이고, '수박수박수박수...'와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요.

예를 들어 n이 4이면 '수박수박'을 리턴하고 3이라면 '수박수'를 리턴하면 됩니다.

 

제한조건 

· n은 길이 10,000이하인 자연수입니다.

 

입출력 예

n return
3 '수박수'
4 '수박수박'

풀이

1. Me

def solution(n):
    answer = ''
    for i in range(1,n+1):
        if i % 2 == 0:
            answer += '박'
        elif i % 2 == 1:
            answer += '수'
    return answer

짝수면 '박'을 더하고, 홀수면 '수'를 더해 구현하였다.

def solution(n):
    a, b = divmod(n,2)
    return('수박' * a + '수' * b)

2. Others

def water_melon(n):
    s = "수박" * n
    return s[:n]

'수박'을 넉넉히 길게 반복하고, 입력받은 길이만큼 슬라이싱 

def water_melon(n):
    return "수박"*(n//2) + "수"*(n%2)

'수박'을 n // 2 번 반복하고, 마지막에 홀수면 '수'를 더하고 그렇지 않으면 더하지 않도록 구현.. 's' * (n % 2) -> 기억해두자. (홀수일 때 곱하고, 짝수일 때는 곱하지 x)

* 두 코드 모두 반복되는 문자열 연산을 먼저 한 다음, 나머지 처리를 수행하여 코드를 간결하게 작성함

'CS > Coding Test' 카테고리의 다른 글

문자열 다루기 기본  (0) 2021.08.21
서울에서 김서방 찾기  (0) 2021.08.21
시저 암호  (0) 2021.08.21
약수의 합  (0) 2021.08.21
자릿수 더하기  (0) 2021.08.21

블로그의 정보

코딩하는 오리

Cori

활동하기