2020. 4. 23. 14:53

[python](프로그래머스)수박수박수박수박수박수?

문제 설명


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

 

제한 조건


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

 

문제 풀이


def solution(n):
    subak = "수박" * n
    return subak[0:n]

이건 알고리즘이라고 해야할지 파이썬을 응용한 편법이라고 해야할지...너무 간단해서 포스팅하기도 민망하다.

수박을 길이 n만큼 늘려놓은 다음에 처음부터 n까지 짜른다. subak[:n]을 리턴해도 결과는 같다.

내가 생각하고도 어이가 없었는데 다른 사람도 이렇게 푼걸 보니 사람의 생각은 다 같은 거 같기도...

 

다른 풀이


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

n이 짝수면 수박까지 나오고 홀수면 수를 추가 넣어주는 방식

// 연산자를 씀으로써 1이나 0은 당연히 0이 됨으로 수박은 출력이 안되고 수만 출력하게 된다.