알고리즘/프로그래머스
[프로그래머스 / Python] 수박수박수박수박수박수? | 초코더
cloud_nice
2020. 1. 2. 22:06
문제 설명
길이가 n이고, 수박수박수박수....와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 수박수박을 리턴하고 3이라면 수박수를 리턴하면 됩니다.
제한 사항
-n은 길이 10,000이하인 자연수입니다.
입출력 예
n |
return |
3 |
수박수 |
4 |
수박수박 |
접근법
저는 반복문을 사용해서 n번만큼 수, 박을 각각 list에다가 넣어주었습니다.
i가 0일때는 수,
i가 1일때는 박,
i가 2일때는 수, ,,,
홀수일때는 '수'를 짝수일때는 '박'을 list에 원소로 저장해준뒤
다시 리스트를 join으로 이어붙여서 string형태로 출력해주었습니다.
나의 코드
def solution(n):
sb_list = []
for i in range(n):
if i%2 == 0:
sb_list.append("수")
else:
sb_list.append("박")
sb = "".join(sb_list)
return sb
다른 코드
def solution(n):
return "수박"*(n//2) + "수"*(n%2)
엄청 간단하네요.... ㄷ ㄷ
n을 2로 나눈 값이 반복되는 횟수입니다. 그 횟수만큼 '수박'을 붙여주고, 홀수일 경우에는 뒤에 "수"가 한번 더 붙습니다.