백준(Python) 풀이/수학 213

백준(Python) 1676번 팩토리얼 0의 개수 풀이

Python으로 구현한 1676번 팩토리얼 0의 개수 문제 풀이입니다. https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net def factorial(x) : value = 1 for i in range(2, x + 1) : value *= i return value n = int(input()) result = str(factorial(n)) count = 0 for i in range(len(result)-1, -1, -1) : if result[i] == '0' : count+= 1 else : break print(count) ..

백준(Python) 13458번 시험 감독 풀이

Python으로 구현한 13458번 시험 감독 문제 풀이입니다. https://www.acmicpc.net/problem/13458 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net n = int(input()) people = list(map(int, input().split())) b, c = map(int, input().split()) result = n for i in range(n) : temp = people[i] - b if temp > 0 ..

백준(Python) 2455번 지능형 기차 풀이

Python으로 구현한 2455번 지능형 기차 문제 풀이입니다. https://www.acmicpc.net/problem/2455 2455번: 지능형 기차 최근에 개발된 지능형 기차가 1번역(출발역)부터 4번역(종착역)까지 4개의 정차역이 있는 노선에서 운행되고 있다. 이 기차에는 타거나 내리는 사람 수를 자동으로 인식할 수 있는 장치가 있다. www.acmicpc.net data = [] count = 0 for _ in range(4) : down, up = map(int, input().split()) count -= down count += up data.append(count) print(max(data)) 반복문을 통해 하나의 역에 거칠 때마다 해당 역에서 내린 사람의 수를 빼고 탄 사람의 수..

백준(Python) 1476번 날짜 계산 풀이

Python으로 구현한 1476번 날짜 계산 문제 풀이입니다. https://www.acmicpc.net/problem/1476 1476번: 날짜 계산 준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타 www.acmicpc.net e, s, m = map(int, input().split()) a, b, c = 1, 1, 1 count = 0 while True : count += 1 if e==a and s==b and m==c : break a += 1 b += 1 c += 1 if a == 16 : a = 1 if b == 29 : b = 1 if c == 20..

백준(Python) 3053번 택시 기하학 풀이

Python으로 구현한 3053번 택시 기하학 문제 풀이입니다. https://www.acmicpc.net/problem/3053 3053번: 택시 기하학 첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다. www.acmicpc.net import math r = int(input()) print(f'{r*r*math.pi:.6f}') print(f'{r*r*2:.6f}') 첫째 줄에 출력해야하는 유클리드 기하학에서의 원의 넓이는 n * n * PI 를 계산하여 해결할 수 있고 두번째 줄에 출력해야하는 택시 기하학에서의 원의 넓이는 n * n * 2 를 계산하여 문제를 해결할 수 있다. ..

백준(Python) 3046번 R2 풀이

Python으로 구현한 3046번 R2 문제 풀이입니다. https://www.acmicpc.net/problem/3046 3046번: R2 두 숫자 R1과 R2가 있을 때, 두 수의 평균 S는 (R1+R2)/2와 같다. 상근이는 정인이 생일 선물로 두 숫자 R1과 R2를 주려고 한다. 생일 파티에서 상근이는 정인이에게 이 두 숫자를 말해주고, 정인이는 www.acmicpc.net r1, s = map(int, input().split()) print(2*s - r1) S = (R1 + R2) / 2 에서 R2를 구하는 문제이다. R2를 미지수로 설정하여 값들을 이항하면 2 * S - R1 이 된다. 위 공식과 같이 코드를 작성하여 최종적으로 결과를 출력한다.

백준(Python) 1037번 약수 풀이

Python으로 구현한 1037번 약수 문제 풀이입니다. https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net n = int(input()) data = list(map(int, input().split())) max_value = max(data) min_value = min(data) print(max_value * min_value) 입력받은 리스트는 모두 진짜 약수이기 때문에 값들 중 최솟값과 최댓값을 구하여 두 수의 곱을 출력한다.

백준(Python) 2163번 초콜릿 자르기 풀이

Python으로 구현한 2163번 초콜릿 자르기 문제 풀이입니다. https://www.acmicpc.net/problem/2163 2163번: 초콜릿 자르기 정화는 N×M 크기의 초콜릿을 하나 가지고 있다. 초콜릿은 금이 가 있는 모양을 하고 있으며, 그 금에 의해 N×M개의 조각으로 나눠질 수 있다. 초콜릿의 크기가 너무 크다고 생각한 그녀는 초콜릿 www.acmicpc.net n, m = map(int, input().split()) print(n*m - 1) 문제에서 요구하는 바는 1 x 1 크기의 초콜릿으로 쪼개기 위한 최소 쪼개기 횟수를 구하는 것이기 때문에 단순히 두 정수를 입력받고 곱한 뒤 1을 감소시킨 값을 출력하면 된다. 여기서 1을 감소시키는 이유는 마지막 남은 1 x 1 크기의 초콜..

백준(Python) 11050번 이항 계수 1 풀이

Python으로 구현한 11050번 이항 계수 1 문제 풀이입니다. https://www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net def factorial(x) : value = 1 for i in range(2, x+1) : value *= i return value n, k = map(int, input().split()) result = factorial(n) // (factorial(n-k) * factorial(k)) print(result) 이 문제에서 요구하는 이항 계수를 해결하는 공식은 아래와 같다. 그러므로, fact..