본문 바로가기
[Python] Programmers/Level1

[프로그래머스/Level1] 수박수박수박수박수박수?

by 파크영 2021. 6. 21.

문제 설명

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

 

제한 조건

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

 

입출력 예

n return
3 "수박수"
4 "수박수박"

나의 풀이

[Python(파이썬)]

def solution(n):
    sbstr = '수박'
    answer = ''
    for i in range(n):
        answer += sbstr[i % 2]
    return answer

 


학습한 내용

#다른 사람 코드 학습 
    
def water_melon(n):
    return ("수박"*n)[0:n]
    
# n = 5인경우 5글자만 구하면되는데 '수박'*n 하면 10글자를 메모리에 사용하게 되는 듯
# 메모리와 시간이 n이 커질수록 커진다.

def water_melon(n):
    return "수박"*(n//2) + "수"*(n%2)
    
# 풀이 중 가장 메모리와 시간이 효율적인 코드인듯하다. 
    

 

 

문제 출처

 

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

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

programmers.co.kr

 

댓글