#7 알고리즘 연습 - 같은 문자 반복(Python)
2019-01-13
길이가 n이고, 수박수박수박수…와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 수박수박을 리턴하고 3이라면 수박수를 리턴하면 됩니다.
제한 조건
n은 길이 10,000이하인 자연수입니다.
입출력 예
n | return |
---|---|
3 | 수박수 |
4 | 수박수박 |
문제풀이 IDEA 수박의 갯수는 2로 나눈 몫이 우선적으로 있어야 하고 추가적으로 수박의 글자에서 2의 나머지인 (0, 1)인덱스를 slice해서 가져오자
내 풀이 🏆
def solution(n):
return((n//2)*"수박"+"수박"[:n%2] )
#python은 string *int해주면 int만큼 반복
#6이 들어올경우 3번 수박 반복 하고 5일경우 2번 반복
#그리고 수박에서 mod가 0일경우 가져오는 string없고
#mod가 1일경우 "수"를 가져와서 붙여준다
다른 풀이 🏆
def water_melon(n):
s = "수박" * n #수박을 n만큼 s에 넣어주고
return s[:n] #그 string에서 n까지만 뽑아왔다
#하지만 n이 커지면 메모리 낭비가 심할것 같다