본문 바로가기

Algorithm/프로그래머스 연습 문제

프로그래머스 / 코딩 테스트 / 수박수박수박수박수박수?

문제 설명

 

문제 해결

 

특정 패턴의 문자열을 주어진 길이만큼 생성하여 반환해야되는 문제이다.

tuple에 '수', '박' 문자를 담고 반복문을 이용하여 반복적으로 반환된 문자열에 문자들을 더해줬다.

 

def solve(n):
    res = ""
    t = ('수','박')
    for i in range(n):
        res += t[i%2]
    return res

def solution(n):
    answer = solve(n)
    return answer

 

다른 사람의 풀이 소개

 

Python에서는 문자열을 곱연산을 할 수 있었다. (사용한 기억이 없어서 까먹고 있었다.)

문자열을 곱연산한 결과에 원하는 길이만큼 자르면 된다.

내 코드보다 엄청 깔끔하고 논리적이다.

 

# 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다.
# 새로운 함수 구성을 적용하려면 [코드 초기화] 버튼을 누르세요. 단, [코드 초기화] 버튼을 누르면 작성 중인 코드는 사라집니다.
def water_melon(n):
    s = "수박" * n
    return s[:n]


# 실행을 위한 테스트코드입니다.
print("n이 3인 경우: " + water_melon(3));
print("n이 4인 경우: " + water_melon(4));