문제 설명
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
제한 조건- n은 길이 10,000이하인 자연수입니다.
3 | "수박수" |
4 | "수박수박" |
문제 이해
- 길이가 n이고 수박수박으로 리턴해야함
- 길이가 3이면 수박수, 4면 수박수박
문제 풀이
- 짝수인지 홀수인지 검사
- 짝수라면 n을 2로 나눈 몫을 '수박'에 곱해서 리턴
- 홀수라면 위의 값에 '수' 를 더해서 리턴. (n에서 2로 나눈 나머지인 1을 빼면 짝수와 동일하기 때문)
def solution(n):
if n%2==0:
return '수박'*(n//2)
else:
return '수박'*(n//2) +'수'
다른 사람들 풀이를 보니 '수박'에 n을 곱해놓고, [:n]으로 n만큼만 슬라이싱한 사람도 있더라.
이런 류의 문제를 풀 때 좋은 방법인 것 같은데, 제외되는 나머지 불필요한 부분이 커지면 비효율적이라는 단점이 있을 듯.