수박수박수박수박수 ?
by Cori문제
길이가 n이고, '수박수박수박수...'와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요.
예를 들어 n이 4이면 '수박수박'을 리턴하고 3이라면 '수박수'를 리턴하면 됩니다.
제한조건
· n은 길이 10,000이하인 자연수입니다.
입출력 예
n | return |
3 | '수박수' |
4 | '수박수박' |
풀이
1. Me
def solution(n):
answer = ''
for i in range(1,n+1):
if i % 2 == 0:
answer += '박'
elif i % 2 == 1:
answer += '수'
return answer
짝수면 '박'을 더하고, 홀수면 '수'를 더해 구현하였다.
def solution(n):
a, b = divmod(n,2)
return('수박' * a + '수' * b)
2. Others
def water_melon(n):
s = "수박" * n
return s[:n]
'수박'을 넉넉히 길게 반복하고, 입력받은 길이만큼 슬라이싱
def water_melon(n):
return "수박"*(n//2) + "수"*(n%2)
'수박'을 n // 2 번 반복하고, 마지막에 홀수면 '수'를 더하고 그렇지 않으면 더하지 않도록 구현.. 's' * (n % 2) -> 기억해두자. (홀수일 때 곱하고, 짝수일 때는 곱하지 x)
* 두 코드 모두 반복되는 문자열 연산을 먼저 한 다음, 나머지 처리를 수행하여 코드를 간결하게 작성함
'CS > Coding Test' 카테고리의 다른 글
문자열 다루기 기본 (0) | 2021.08.21 |
---|---|
서울에서 김서방 찾기 (0) | 2021.08.21 |
시저 암호 (0) | 2021.08.21 |
약수의 합 (0) | 2021.08.21 |
자릿수 더하기 (0) | 2021.08.21 |
블로그의 정보
코딩하는 오리
Cori