본문 바로가기
[스파르타코딩클럽]데이터분석 과정/PYTHON

[Python 코드카타] 6~10번 (프로그래머스)_(1~5번 다시풀기)

by doo_ 2024. 1. 5.

 

- c언어로 풀고 있어서 다시 풀게 됐다...

(1번) 두 수의 차

def solution(num1, num2):
    answer = 0
    if abs(num1) > 50000 and abs(num2) > 50000 :
        print('잘못 입력했습니다')
    else : # exit을 써도 된다.
        answer = num1 - num2
    return answer

(2번) 두 수의 곱

def solution(num1, num2):
    answer = 0
    if 0<= num1 <= 100 and 0 <= num2 <= 100 :
        print('잘못 입력했습니다')
        exit
    answer = num1 * num2
    return answer
def solution(num1, num2):
    0<=num1<=100
    0<=num2<=100
    answer = num1*num2
    return answe

> 창의적인 해답

def solution(num1, num2):
    #return num1 * num2
    i = 0
    answer = 0
    while i < num2:
        answer += num1
        i += 1
    return answer

 

(3번) 몫 구하기

def solution(num1, num2):
    answer = 0
    if 0<= num1 <= 100 and 0 <= num2 <= 100 :
        print('잘못 입력했습니다')
        exit
    answer = int(num1 / num2) # a // b -> 몫 구하기
    return answer

 

(4번) 나이 출력

def solution(age):
    standard_year = 2022
    if ( age > 120) :
        print('잘못 입력하셨습니다')
        exit
    return standard_year - age + 1

 

(5번) 숫자 비교하기

def solution(num1, num2):
    0 <= num1 <= 10000
    0 <= num2 <= 10000
    if num1 == num2 :
        answer = 1
    else :
        answer = -1    
    return answer

 

(6번) 두 수의 합

def solution(num1, num2):
    answer = 0
    if abs(num1) > 50000 and abs(num2) > 50000 :
        print('잘못 입력했습니다')
    else : # exit을 써도 된다.
        answer = num1 + num2
    return answer

 

(7번) 두 수의 나누기

def solution(num1, num2):
    return int(num1 / num2 * 1000)

 

(8번) 각도기

def solution(angle):
    0 < angle <= 180
    answer = 0
    if angle == 180 :
        answer = 4
    elif angle > 90 :
        answer = 3
    elif angle == 90 :
        answer = 2
    else : 
        answer = 1
    return answer
def solution(angle):
    return 2 if angle==90 else 1 if angle<90 else 4 if angle==180 else 3
# 2를 출력해라 만약 90도라면 / 1을 출력해라 90미만이라면 / 4를 출력해라 180이라면 아니면 3

> 창의적인 답

def solution(angle):
    answer = (angle // 90) * 2 + (angle % 90 > 0) * 1
    return answer

(9번) 짝수들의 합

> range(n) : 0부터 n미만

> range(n, m) : n이상 m미만 

def solution(n):
    0 < n <= 1000
    answer = 0
    for i in range(1,n+1) :
        if i % 2 == 0 :
            answer += i
    return answer
def solution(n):
    answer = 0
    for i in range(2, n+1, 2):
        answer += i
    return answer
def solution(n):
    return sum([i for i in range(2, n + 1, 2)])

 

(10번) 배열의 합

def solution(numbers):
    answer = 0
    n = 0
    for i in numbers :
        answer += i
        n += 1
    answer = answer / n
    return answer

 

def solution(numbers):
    return sum(numbers) / len(numbers)