
문제 설명
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요.
예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
풀이
주어진 숫자 n의 길이만큼 문자열 "수박"을 연장 시키면 되는 문제 입니다.
우선, "수박"이라는 문자열을 변수로 지정해둡니다.
n 범위의 for 문을 사용하여 "수"와 "박"을 번갈아가면서 빈 문자열에 더 하도록 합였습니다.
문자열 "수박"에서 인덱스 0은 "수"이고 인덱스 1은 "박"입니다.
오직 인덱스 0과 1만 필요함으로 for 문의 인덱스 i에서 2로 나눈 나머지만 나오도록 하였습니다.
어떤 숫자든지 2로 나눈 나머지는 0이나 1만 가능하기 때문에 그렇습니다.
코드
def solution(n):
answer = ''
watermelon = "수박"
for i in range(n):
answer += watermelon[i%2]
return answer
코드를 좀 더 간단하게 만들고 싶다면
문자열 "수박"을 n만큼 늘린 다음에 필요한 만큼 자르는 방법도 있겠지만
그럴 경우에는 리턴에 필요한 문자열보다 2배 긴 문자열을 만든 후에 n만큼 자르는 방법이라
비효율적이라 판단 했습니다.
'Algorithm > 프로그래머스' 카테고리의 다른 글
(파이썬) [알고리즘 문제 풀이] - 정수 삼각형 (프로그래머스) (0) | 2021.02.19 |
---|---|
(파이썬) [알고리즘 문제 풀이] - 히샤드 수 (프로그래머스) (0) | 2021.01.27 |
(파이썬) [알고리즘 문제 풀이] - 야근 지수 (프로그래머스) (0) | 2021.01.22 |
(파이썬) [알고리즘 문제 풀이] - 콜라츠 추측 (프로그래머스 (0) | 2021.01.22 |
(파이썬) [알고리즘 문제 풀이] - 문자열 내 마음대로 정렬하기 (프로그래머스) (0) | 2021.01.21 |