[프로그래머스] Level1 - 수박수박수박수박수박수? (Python)

HJ Kim·2022년 6월 10일
0

프로그래머스

목록 보기
32/50

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

제한 조건

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

입출력 예

nreturn
3"수박수"
4"수박수박"

내 문제 풀이

  • n=1일때와 n이 2보다 클 때 나눠서 문제 풀이
def solution(n):

    if n == 1:
        return '수'
    elif n >= 2 :
        if n % 2 == 0:
            return '수박'* int((n//2))
        elif n % 2 == 1:
            return '수박'* int((n//2)) + '수'

아쉬운 점

  • 살짝 비효율적인 것 같다. '수박'*int((n//2) 부분이 공통인데 이걸 효율적으로 합칠 수 있는 방법이 있을 것 같은데..
def solution(n):

    return '수박'* int((n//2)) + '수박'[:n%2]
    

줄여서 만든 코드. 모든 케이스에 다 잘 작동 한다.

profile
티끌모아 태산을 아는 사람

0개의 댓글