백준(Python) 풀이/수학 213

백준(Python) 10162번 전자레인지 풀이

Python으로 구현한 10162번 전자레인지 문제 풀이입니다. https://www.acmicpc.net/problem/10162 10162번: 전자레인지 3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은 www.acmicpc.net t = int(input()) if t % 10 != 0 : print(-1) else : a = t // 300 b = (t%300) // 60 c = (t%300) % 60 // 10 print(a, b, c) 입력받은 t를 10으로 나눈 값이 0이 아닐 경우 제시된 3개의 버튼으로 t초를 맞출 수 없으므로 -1을 출력하..

백준(Python) 10610번 30 풀이

Python으로 구현한 10610번 30 문제 풀이입니다. https://www.acmicpc.net/problem/10610 10610번: 30 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한 www.acmicpc.net n = list(input()) n.sort(reverse = True) sum = 0 for i in n : sum += int(i) if sum % 3 != 0 or "0" not in n : print(-1) else : print(''.join(n)) 이 문제는 30의 배수가 되는 가장 큰 수를 구하는 문제로, 30의 배수가 되려면 ..

백준(Python) 1977번 완전제곱수 풀이

Python으로 구현한 1977번 완전제곱수 문제 풀이입니다. https://www.acmicpc.net/problem/1977 1977번: 완전제곱수 M과 N이 주어질 때 M이상 N이하의 자연수 중 완전제곱수인 것을 모두 골라 그 합을 구하고 그 중 최솟값을 찾는 프로그램을 작성하시오. 예를 들어 M=60, N=100인 경우 60이상 100이하의 자연수 중 완 www.acmicpc.net import math m = int(input()) n = int(input()) result = [] for i in range(m, n + 1) : if int(math.sqrt(i)) ** 2 == i : result.append(i) if result : print(sum(result)) print(min(re..

백준(Python) 6588번 골드바흐의 추측 풀이

Python으로 구현한 6588번 골드바흐의 추측 문제 풀이입니다. https://www.acmicpc.net/problem/6588 6588번: 골드바흐의 추측 각 테스트 케이스에 대해서, n = a + b 형태로 출력한다. 이때, a와 b는 홀수 소수이다. 숫자와 연산자는 공백 하나로 구분되어져 있다. 만약, n을 만들 수 있는 방법이 여러 가지라면, b-a가 가장 큰 www.acmicpc.net import sys num = 1000001 data = [True for _ in range(num)] for i in range(2, int((num-1)**0.5) + 1) : if data[i] : for j in range(i + i, num, i) : data[j] = False while Tru..

백준(Python) 2576번 홀수 풀이

Python으로 구현한 2576번 홀수 문제 풀이입니다. https://www.acmicpc.net/problem/2576 2576번: 홀수 7개의 자연수가 주어질 때, 이들 중 홀수인 자연수들을 모두 골라 그 합을 구하고, 고른 홀수들 중 최솟값을 찾는 프로그램을 작성하시오. 예를 들어, 7개의 자연수 12, 77, 38, 41, 53, 92, 85가 주어지 www.acmicpc.net data = [0] * 8 h = [] for i in range(7) : data[i] = int(input()) if data[i] % 2 != 0 : h.append(data[i]) if h : h.sort() print(sum(h)) print(h[0]) else : print(-1) 자연수를 하나씩 총 7개의 ..

백준(Python) 1550번 16진수 풀이

Python으로 구현한 1550번 16진수 문제 풀이입니다. https://www.acmicpc.net/problem/1550 1550번: 16진수 첫째 줄에 16진수 수가 주어진다. 이 수의 최대 길이는 6글자이다. 16진수 수는 0~9와 A~F로 이루어져 있고, A~F는 10~15를 뜻한다. 또, 이 수는 음이 아닌 정수이다. www.acmicpc.net n = int(input(), 16) print(n) 16진수 수를 입력받아 10진수로 변환하여 출력한다.

백준(Python) 5086번 배수와 약수 풀이

Python으로 구현한 5086번 배수와 약수 문제 풀이입니다. https://www.acmicpc.net/problem/5086 5086번: 배수와 약수 각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다. www.acmicpc.net while True : a, b = map(int, input().split()) if a == 0 and b == 0 : break if b % a == 0 : print("factor") elif a % b == 0 : print("multiple") else : print("neither") a와 b를 입력받고 두 수가 0이라면 종료한다. 그렇지 않으면, 조건문을 통해 ..

백준(Python) 2914번 저작권 풀이

Python으로 구현한 2914번 저작권 문제 풀이입니다. https://www.acmicpc.net/problem/2914 2914번: 저작권 창영이는 노래 여러 개를 이어서 부르는 가수이다. 유명한 노래의 비슷한 멜로디를 이어서 부르면서 언제 곡이 넘어갔는지 모르게 만드는 것이 창영이 노래의 특징이다. 이런 노래로 상업적으 www.acmicpc.net a, i = map(int, input().split()) print(a * (i-1) + 1) a와 i를 입력받고 평균값(i)는 소수에서 올림한 정수값이기 때문에 a * (i - 1) + 1 로 계산하여 출력한다.

백준(Python) 2525번 오븐 시계 풀이

Python으로 구현한 2525번 오븐 시계 문제 풀이입니다. https://www.acmicpc.net/problem/2525 2525번: 오븐 시계 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.) www.acmicpc.net a, b = map(int, input().split()) c = int(input()) a += c // 60 b += c % 60 if b >= 60 : a += 1 b -= 60 if a >= 24 : a -= 24 print(a, b) 입력받은 a에 요리하는 데 필요한 시간(c)를 60으로 나눈 몫으로 다시 갱신하고..

백준(Python) 11051번 이항 계수2 풀이

Python으로 구현한 11051번 이항 계수 2 문제 풀이입니다. https://www.acmicpc.net/problem/1009 1009번: 분산처리 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 정수 a와 b가 주어진다. (1 ≤ a < 100, 1 ≤ b < 1,000,000) www.acmicpc.net def factorial(x) : result = 1 for i in range(2, x + 1) : result *= i return result n, k = map(int, input().split()) value = factorial(n) // (factorial(n-k) * factorial(k)) print(value % 10007..