🐍PYTHON/알고리즘

[Python] 프로그래머스 수박수박수박수? 파이썬 코드

wooaoe 2020. 8. 9. 17:34

문제 설명

길이가 n이고, 수박수박수박수....와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 수박수박을 리턴하고 3이라면 수박수를 리턴하면 됩니다.

제한 조건

  • n은 길이 10,000이하인 자연수입니다.

 

💡 나의 풀이 

def solution(n):
    
    return ('수박'*n) [:n]
  • '수박' * n --> 입력받은 n만큼 '수박' 반복 
  • solution(3)이면 '수박수박수박' 이므로 slicing 필요 
  • 따라서 입력받은 n만큼 출력해주면 된다. [:n]

 

💡 다른 방식 

def solution(n):
    answer = ''
    
    for i in range(n):
        if i % 2 == 0:
            answer += '수'
        else:
            answer += '박'
    
    return answer
  • i를 2로 나눈 값이 0이면 짝수 --> '수' 추가 
  • i를 2로 나눈 값이 0이 아니면 홀수 --> '박' 추가 
  • n = 3이면 i = 0, answer = '수' / i = 1, answer = '수박' / i = 2, answer = '수박수' 
  • n = 4이면 i = 0, answer = '수' / i = 1, answer = '수박' / i = 2, answer = '수박수' / i = 3, answer = '수박수박'