문제 설명
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
제한사항
- n은 길이 10,000이하인 자연수입니다.
입출력 예
코드
def solution(n):
answer = ''
for count in range(n):
answer = answer+"박" if (count+1)%2 == 0 else answer+"수"
return answer
풀이
n만큼 반복문을 돌려 만약 count+1이 짝수이면, answer에 박을 추가하고, 홀수라면 수를 추가한다.
다른 코드와 풀이
아래의 코드는 다른 사람들이 작성한 것들로, 내 코드와 비교, 참고하기 위해 가져왔다.
def water_melon(n):
str = "수박"*n
return str[:n]
n만큼 수박을 반복한 것을 str에 할당해준 후 슬라이싱을 통해 자릿수가 n-1인 곳까지만 리턴해준다.
def water_melon(n):
return "수박" * (n//2) + "수" * (n%2)
n//2의 몫 만큼 수박을, n%2의 나머지만큼 수를 리턴해준다. n//2는 수박이 2글자이기 때문에 나누기 2를 해줘 그의 몫 만큼만 곱해주면 원하는 결과를 얻을 수 있다. 그리고 n%2의 결과는 0, 1로만 나오게 되는데, 짝수이면 마지막에 박이 오는 것이고, 홀수면 n%2의 결과가 1이기 때문에 마지막에 수가 오는 것이다.
'Coding Test' 카테고리의 다른 글
231019 약수의 갯수와 덧셈 - Level 1 (0) | 2023.10.19 |
---|---|
231018 내적 - Level 1 (0) | 2023.10.18 |
231016 가운데 글자 가져오기 - Level 1 (0) | 2023.10.16 |
231015 제일 작은 수 제거하기 - Level 1 (0) | 2023.10.15 |
231014 나누어 떨어지는 숫자 배열 - Level 1 (0) | 2023.10.14 |