[프로그래머스] 파이썬 코딩테스트 연습(수박수박수박수박수박수?, 약수의 개수와 덧셈)

728x90

1. 수박수박수박수박수박수?

 

문제 설명

 

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

 

 내 풀이

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

 

다른 사람 풀이

 

# 1
def water_melon(n):
    str = "수박"*n
    return str[:n]
    
# 2
def water_melon(n):

    return "수박" * (n//2) + "수" * (n%2)

 

2. 약수의 개수와 덧셈

 

문제 설명

 

두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.

 

다른 사람 풀이

def solution(left, right):
    answer = 0
    for i in range(left,right+1):
        if int(i**0.5)==i**0.5:
            answer -= i
        else:
            answer += i
    return answer
  • 제곱수는 약수가 홀수
  • i**0.5는 i의 제곱근을 의미
 
 
 
728x90