본문 바로가기
Coding Test

231017 수박수박수박수박수박수? - Level 1

by mmm- 2023. 10. 17.

문제 설명

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

제한사항

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

 

입출력 예


코드

def solution(n):
    answer = ''
    
    for count in range(n):
        answer = answer+"박" if (count+1)%2 == 0 else answer+"수"
    
    return answer

 

풀이

n만큼 반복문을 돌려 만약 count+1이 짝수이면, answer에 박을 추가하고, 홀수라면 수를 추가한다.


다른 코드와 풀이

아래의 코드는 다른 사람들이 작성한 것들로, 내 코드와 비교, 참고하기 위해 가져왔다.

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

n만큼 수박을 반복한 것을 str에 할당해준 후 슬라이싱을 통해 자릿수가 n-1인 곳까지만 리턴해준다.


def water_melon(n):

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

n//2의 몫 만큼 수박을, n%2의 나머지만큼 수를 리턴해준다. n//2는 수박이 2글자이기 때문에 나누기 2를 해줘 그의 몫 만큼만 곱해주면 원하는 결과를 얻을 수 있다. 그리고 n%2의 결과는 0, 1로만 나오게 되는데, 짝수이면 마지막에 박이 오는 것이고, 홀수면 n%2의 결과가 1이기 때문에 마지막에 수가 오는 것이다.