문제 설명
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
제한 조건- n은 길이 10,000이하인 자연수입니다.
입출력 예
n | return |
3 | "수박수" |
4 | "수박수박" |
<나의 문제 풀이>
def solution(n):
answer = ''
for i in range(n):
if i % 2 == 0:
answer = answer + "수"
else:
answer = answer + "박"
return answer
1. answer 이라는 빈 문자열 선언 --> answer = ''
2. for 문을 통해 0부터 n-1까지의 숫자 반복 --> for i in range(n):
이 반복문은 n번 반복되는 것이고 i 값에 따라 수 또는 박을 추가
3. 짝수일 경우와 홀수일 경우을 정해주기
if i % 2 == 0:
answer = answer + "수"
else:
answer = answer + "박"
예를 들어
i = 0이면 "수", i = 1이면 "박", i = 2 이면 다시 "수" 추가
4. 결과적으로 answer return
<다른 풀이 방법>
def solution(n):
return ("수박" * (n // 2 + 1))[:n]
1. ("수박" * (n // 2 + 1)):
- n을 2로 나눈 몫에 1을 더한 값만큼 "수박"을 반복
- 이 값은 n이 어떤 크기이든 "수박"을 충분히 만들어 낸다
2. [:n]:
- 생성된 문자열의 앞에서부터 n 글자만큼 잘라서 반환
'CODEKATA' 카테고리의 다른 글
[Python] 약수의 개수와 덧셈 (0) | 2024.08.30 |
---|---|
[Python] 내적 (0) | 2024.08.22 |
[Python] 가운데 글자 가져오기 (0) | 2024.08.20 |
[MySQL] 특정기간 동안 대여 가능한 자동차들의 대여비용 구하기 (0) | 2024.08.12 |
[MySQL] 입양 시각 구하기(2) (2) | 2024.08.07 |