31. 길이가 n이고, "수박수박수박수..."와 같은 패턴을 유지하는 문자열을 리턴하는 함수 solution을 완성하세요. 예를 들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
반복문으로 n의 길이만큼 range(n)을 하여 숫자를 하나씩 불러오면 0부터 시작해서 n-1까지 숫자가 나온다.
이때 나머지가 0이면 '수'를 아니라면 '박'을 비어있는 리스트 answer에 추가(append)해주고
모든 문자열을 합친(join) 값을 return한다.
def solution(n):
answer=[]
for i in range(n):
if i%2==0:
answer.append('수')
else:
answer.append('박')
return ''.join(answer)
문제는 통과했지만 다른 사람들의 풀이를 보니 반복문을 사용하지 않고 문자열에 바로 * 연산자를 적용한 정답이 있었다.
문자열에 * 연산자를 쓰면 반복할 수 있다는 걸 까먹고 반복문을 사용해서 다시 풀어봤다.
아래의 답이 훨씬 간결하면서 실행 시간도 효율적인 것을 확인할 수 있다.
def solution(n):
return '수박'*(n//2)+'수'*(n%2)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'Code Kata > [Python] Code Kata' 카테고리의 다른 글
[Python] 프로그래머스 Lv.1 문자열 다루기 기본 (1) | 2024.02.07 |
---|---|
[Python] 프로그래머스 Lv.1 약수의 개수와 덧셈 (1) | 2024.01.31 |
[Python] 프로그래머스 Lv.1 제일 작은 수 제거하기 (1) | 2024.01.26 |
[Python] 프로그래머스 Lv.1 핸드폰 번호 가리기 (0) | 2024.01.26 |
[Python] 프로그래머스 Lv.1 음양 더하기 (1) | 2024.01.22 |