[파이썬][프로그래머스] 수박수박수박수박수박수박수 ?
1. 문제Permalink
[level 1] 수박수박수박수박수박수? - 12922Permalink
성능 요약Permalink
메모리: 0.0 MB, 시간: 0.00 ms
구분Permalink
코딩테스트 연습 > 연습문제
채점결과Permalink
정확성: 100.0
합계: 100.0 / 100.0
문제 설명Permalink
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
제한 조건
- n은 길이 10,000이하인 자연수입니다.
입출력 예
n | return |
---|---|
3 | "수박수" |
4 | "수박수박" |
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
2. 해결방법 시간복잡도Permalink
- 단순 코딩 O(1)
3. 문제 해결 및 코드Permalink
def solution(n): | |
if n == 1: | |
return "수" | |
if n % 2 == 0: | |
return (n//2) * "수박" | |
else: | |
n -= 1 | |
return (n//2) * "수박" + "수" |
-
주석을 참고하면서 이해를 돕습니다.Permalink
4. 알고리즘 및 해설Permalink
- if문을 통해 들어오는 값이 경우에 따라 나눈다.
- 1인 경우에는 바로 “수”를 출력한다.
- 2의 배수일 경우 n을 2로 나눈 몫 * “수박”을 출력한다.
- 나머지는 해당 수를 짝수로 만든 다음에 2로 나눈 몫 * “수박” + “수”를 해준다.