코딩테스트

프로그래머스 기초 Day 4 파이썬

피갓자 2025. 4. 5. 13:00

프로그래머스
프로그래머스

n의 배수

문제 설명

정수 num과 n이 매개 변수로 주어질 때, num이 n의 배수이면 1을 return n의 배수가 아니라면 0을 return하도록 solution 함수를 완성해주세요.

제한사항

  • 2 ≤ num ≤ 100
  • 2 ≤ n ≤ 9

입출력 예

num n result
98 2 1
34 3 0

입출력 예 설명

입출력 예 #1

  • 98은 2의 배수이므로 1을 return합니다.

입출력 예 #2

  • 32는 3의 배수가 아니므로 0을 return합니다.

solution.py

def solution(num, n):
    if num % n == 0:
    	return 1
    else:
    	return 0

공배수

문제 설명

정수 number와 nm이 주어집니다.

number가 n의 배수이면서 m의 배수이면 1을 아니라면 0을 return하도록 solution 함수를 완성해주세요.

제한사항

  • 10 ≤ number ≤ 100
  • 2 ≤ nm < 10

입출력 예

number n m result
60 2 3 1
55 10 5 0

입출력 예 설명

입출력 예 #1

  • 60은 2의 배수이면서 3의 배수이기 때문에 1을 return합니다.

입출력 예 #2

  • 55는 5의 배수이지만 10의 배수가 아니기 때문에 0을 return합니다.

solution.py

def solution(number, n, m):
    if number % n == 0 and number % m == 0:
        return 1
    else:
        return 0

홀짝에 따라 다른 값 반환하기

문제 설명

양의 정수 n이 매개변수로 주어질 때, n이 홀수라면 n 이하의 홀수인 모든 양의 정수의 합을 return 하고 n이 짝수라면 n 이하의 짝수인 모든 양의 정수의 제곱의 합을 return 하는 solution 함수를 작성해 주세요.

제한사항

  • 1 ≤ n ≤ 100

입출력 예

n result
7 16
10 220

 

입출력 예 설명

입출력 예 #1

  • 예제 1번의 n은 7로 홀수입니다. 7 이하의 모든 양의 홀수는 1, 3, 5, 7이고 이들의 합인 1 + 3 + 5 + 7 = 16을 return 합니다.

입출력 예 #2

  • 예제 2번의 n은 10으로 짝수입니다. 10 이하의 모든 양의 짝수는 2, 4, 6, 8, 10이고 이들의 제곱의 합인 22 + 42 + 62 + 82 + 102 = 4 + 16 + 36 + 64 + 100 = 220을 return 합니다.

solution.py

def solution(n):
    answer = 0
    
    if n % 2 == 1:
        for i in range(1, n+1, 2):
            answer += i
    else:
        for i in range(2, n+1, 2):
            answer += i**2
    
    return answer

조건 문자열

문제 설명

문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 합니다.

  • 두 수가 n과 m이라면
    • ">", "=" : n >= m
    • "<", "=" : n <= m
    • ">", "!" : n > m
    • "<", "!" : n < m

두 문자열 ineq와 eq가 주어집니다. ineq는 "<"와 ">"중 하나고, eq는 "="와 "!"중 하나입니다.

그리고 두 정수 n과 m이 주어질 때, n과 m이 ineq와 eq의 조건에 맞으면 1을 아니면 0을 return하도록 solution 함수를 완성해주세요.

제한사항

  • 1 ≤ nm ≤ 100

입출력 예

ineq eq n m result
"<" "=" 20 50 1
">" "!" 41 78 0

 

입출력 예 설명

입출력 예 #1

  • 20 <= 50은 참이기 때문에 1을 return합니다.

입출력 예 #2

  • 41 > 78은 거짓이기 때문에 0을 return합니다.

solution.py

def solution(ineq, eq, n, m):
    
    if ineq == "<":
        if eq == "=":
            if n <= m:
                return 1
            else:
                return 0
        else:
            if n < m:
                return 1
            else:
                return 0
    
    elif ineq == ">":
        if eq == "=":
            if n >= m:
                return 1
            else:
                return 0
        else:
            if n > m:
                return 1
            else:
                return 0

flag에 따라 다른 값 반환하기

문제 설명

두 정수 ab와 boolean 변수 flag가 매개변수로 주어질 때, flag가 true면 a + b를 false면 a - b를 return 하는 solution 함수를 작성해 주세요.

제한사항

  • -1,000 ≤ ab ≤ 1,000

입출력 예

a b flag result
-4 7 true 3
-4 7 false -11

입출력 예 설명

입출력 예 #1

  • 예제 1번에서 flagtrue이므로 a + b = (-4) + 7 = 3을 return 합니다.

입출력 예 #2

  • 예제 2번에서 flagfalse이므로 a - b = (-4) - 7 = -11을 return 합니다.

solution.py

def solution(a, b, flag):
    if flag:
        return a + b
    else:
        return a - b