티스토리 뷰

1. 문제

문제 설명

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

제한 조건

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

입출력 예

n return
3 수박수
4 수박수박

 

2. 풀이 과정

def solution(n):
    answer = ((n // 2) * "수박") + "수" if (n % 2) == 1 else (n // 2) * "수박"
    return answer

 

3. 다른 사람의 풀이

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

문자열을 인덱싱한 풀이였는데 참신한 풀이였다.

나는 그저 한 줄로 줄이는데에 그쳤지만 이 풀이는 간단하면서도 정확히 동작하는 방법이었다.

뭔가 알고리즘 문제를 풀 때 생각의 틀을 벗어나는 것도 필요하다고 느꼈다.

'Algorithm > Programmers' 카테고리의 다른 글

짝수와 홀수  (0) 2020.02.04
평균 구하기  (0) 2020.01.30
K번째 수  (0) 2020.01.26
가운데 글자 가져오기  (0) 2020.01.23
완주하지 못한 선수  (0) 2020.01.23
댓글