workSpace/ALGORITHM

[Python] 수박수박수박수박수?

J o e 2020. 12. 17. 23:25

[문제 설명]
길이가 n이고, 수박수박수박수....와 같은 패턴을 유지하는 문자열을 리턴하는 함수,solution을 완성하세요.

예를들어 n이 4이면 수박수박을 리턴하고 3이라면 수박수를 리턴하면 됩니다.

[나의 풀이]

def solution(n):
    answer = ''
    for i in range(n):
        if i%2 == 0:
            answer += '수'
        else:
            answer += '박'

    return answer

solution(3)

[다른 풀이]

def water_melon(n):
    s = "수박" * n  # s변수에 수박을 저장한다. *n 만큼. s = '수박수박수박'
    return s[:n]  # 반환값으로 s에 있는 문자열로 3까지만 출력한다. s[:3] '수박수'
s[n:] = 끝에서 부터 앞으로 n번째 자리까지 출력한다.
s[:n] = 앞에서 부터 뒤로 n번째 자리까지 출력한다.
s[:] = 처음부터 끝까지 뽑아낸다.
s[19:-7] = 19번쨰 자리부터 -8번쨰 자리 까지 말한다. -7은 포함하지 않는다.
https://wikidocs.net/13 << 참고할 것.
 def solution(n):
     return ('수박'*n)[:n]
 solution(4)
def solution(n):
    answer = ''

    for i in range(n):
        if i & 2 == 0:
            answer += '수'
        else:
            answer += '박'
    return answer


number = int(input("숫자입력 :"))
solution(number)