EXCELSIOR

[Level1]수박수박수박수박수박수? (water_melon) 본문

Python/알고리즘_문제

[Level1]수박수박수박수박수박수? (water_melon)

Excelsior-JH 2016. 10. 17. 20:36

1. 문제

water_melon함수는 정수 n을 매개변수로 입력받습니다.
길이가 n이고, 수박수박수...와 같은 패턴을 유지하는 문자열을 리턴하도록 함수를 완성하세요.

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


2. 풀이



1) 내가 작성한 소스

def water_melon(n):
    # 함수를 완성하세요.
    if n%2 == 0:
        return int(n/2)*"수박"
    else:
        return int((n-1)/2)*"수박"+"수"

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

2) 다른 풀이
##첫번째 풀이
def water_melon(n):
    s = "수박" * n
    return s[:n]

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

##두번째 풀이
def water_melon(n):
    return "수박"*(n//2) + "수"*(n%2)

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

3. 알아둘것

연산자설명
+덧셈
-뺄셈
*곱셈
/나눗셈
//나눗셈의 몫
%모듈로 (나눗셈의 나머지)
**지수 연산자
+var단항 덧셈
-var단항 뺄셈


Comments