본문 바로가기

Algorithm/Math

(97)
(Rust) - 백준(BOJ) 15734 : 명장 남정훈 https://www.acmicpc.net/problem/15734 15734번: 명장 남정훈 오늘도 어김없이 피시방에서 피파를 하고 있는 정훈이는 큰 고민에 빠졌다. 자신에 팀에 있는 선수들의 주 사용 발(Main Foot)이 적절하게 나눠져있지 않기 때문이다. 정훈이의 팀에는 L명의 왼발 www.acmicpc.net 기준에 따라 적절히 나누는 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 한 줄을 입력받을 line, 각 발잡이 선수 l, r, a를 각각 선언 후 입력받습니다. 📔 풀이과정 양발잡이 선수들을 최대한 균형있게 배치해야 합니다.먼저 왼발잡이와 오른발잡이 선수의 차이를 diff를 선언해 저장합니다. 1. 양발잡이 선수가 diff보다 많다면 충분히 차이를 메꾸고 남습니다. 차이를 메꾸고 남은 ..
(C++) - 백준(BOJ) 8794 : Poniedziałki https://www.acmicpc.net/problem/8794 8794번: Poniedziałki Jarek szczerze nie cierpi poniedziałków. Zaraz po sylwestrze postanowił napisać program, który obliczy ile poniedziałków czeka go w nowym roku 2011. Ponieważ jest dobrym programistą, uogólnił program tak, aby dało się go używać także an inn www.acmicpc.net 달력에 대한 공식을 적용해 푼 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 test case z, 1년을 구성하는 일 수 n, 1주를 구성하는 일 수..
(C++) - 백준(BOJ) 9469 : 폰 노이만 https://www.acmicpc.net/problem/9469 9469번: 폰 노이만 250마일 길이의 철로 양 끝에 두 기차 A와 B가 있다. A는 시속 10마일, B는 시속 15마일로 서로를 향해 출발했다. 두 기차의 출발과 동시에 기차 A 앞에 붙어있던 파리 한 마리가 기차가 충돌할 때 까 www.acmicpc.net 간단한 수학공식을 이용한 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 철로 길이 d, 기차 a, b속력, 파리 속력 f, 기차가 부딪힐 때까지 걸리는 시간 timeLeft를 선언한 후 적절히 입력받습니다. 📔 풀이과정 시간 = 거리/속력입니다. 서로를 향해 출발하므로 다음 공식이 성립합니다. 시간 = d / (a+b) timeLeft에 해당 값을 저장합니다. 📔 정답출력 파리가 ..
(C++) - 백준(BOJ) 14490 : 백대열 https://www.acmicpc.net/problem/14490 14490번: 백대열 n과 m이 :을 사이에 두고 주어진다. (1 ≤ n, m ≤ 100,000,000) www.acmicpc.net 최대공약수를 구하는 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 n, m을 입력받습니다. 📔 풀이과정 n, m에 대해 유클리드 호제법으로 gcd를 구합니다. 📔 정답출력 n을 gcd로, m을 gcd로 나눈 값을 형식에 맞게 출력합니다. 📕 Code #include using namespace std; int n, m, GCD; int gcd(int a, int b){ if(!b) return a; return gcd(b, a%b); } int main(){ scanf("%d:%d",&n,&m); GCD ..
(C++) - 백준(BOJ) 24623 : Изгороди https://www.acmicpc.net/problem/24623 24623번: Изгороди Фермер Джон прокопал прямолинейную канаву длиной $2 \cdot n$ метров. Затем от середины канавы прокопал под углом $\alpha$ к предыдущей короткую кан www.acmicpc.net 간단한 수학문제였습니다. 📕 풀이방법 📔 입력 및 초기화 n, alpha를 선언 후 입력받습니다. 📔 풀이과정 빨간선으로 표시된 각도는 180 - a입니다. 파란선 부분은 (180 - a) / 2입니다. 핑크선 부분은 a / 2입니다. 정답은 파란선 부분 + 핑크선 부분의 각도가 됩니다. 📔 정답출력 (180 - a) ..
(C++) - 백준(BOJ) 24183 : Affischutskicket https://www.acmicpc.net/problem/24183 24183번: Affischutskicket Indatan består av tre heltal mellan $50$ och $200$, ytvikterna i $\frac{\text{gram}}{\text{m}^2}$ för sorterna som används till kuvertet, affischerna respektive informationsbladet. www.acmicpc.net 수학공식을 구해 답을 출력하는 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 c4, a3, a4종이의 밀도, 각 종이별 무게를 구할 변수 envelop, poster, sheet를 선언한 후 적절히 입력받습니다. 📔 풀이과정 무게 = 용지넓이 * ..
(C++) - 백준(BOJ) 1816 : 암호 키 https://www.acmicpc.net/problem/1816 1816번: 암호 키 현대 사회에서 통용되고 있는 많은 종류의 암호 시스템에서는, 매우 큰 소수의 곱으로 만들어진 수를 암호 키로 이용하는 경우가 많다. 현실적으로 매우 큰 수를 빠른 시간 내에 소인수분해하는 www.acmicpc.net 에라토스테네스의 체를 이용하는 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 소수의 개수 n, 에라토스테네스의 체를 이용하기 위한 일차원 배열 ck, 소수들을 저장할 변수 prime을 선언한 뒤 입력받습니다. 📔 풀이과정 자연수 n이 √n 이하의 어떤 소수로도 나누어 떨어지지 않으면 n 은 소수임이 보장됩니다.따라서 입력받는 수가 100만 이하의 소수로 나누어 떨어지지만 않으면 n은 소수가 됩니다. 따라서..
(C++) - 백준(BOJ) 25191 : 치킨댄스를 추는 곰곰이를 본 임스 https://www.acmicpc.net/problem/25191 25191번: 치킨댄스를 추는 곰곰이를 본 임스 콜라 $4$개, 맥주 $2$개로 치킨을 $4$마리까지 먹을 수 있지만, 치킨집에 치킨이 $3$마리밖에 없으므로 임스도 $3$마리까지만 먹을 수 있다. www.acmicpc.net 간단 수학 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 chicken, coke, beer를 선언 후 입력받습니다. 📔 풀이과정 1. 먼저 집에 있는 음료수로는 coke / 2 + beer만큼 치킨을 시켜먹을 수 있습니다. 2. 하지만 시킬 수 있는 수량이 한정적이므로 치킨집에 존재하는 치킨 개수와 비교해 최솟값을 출력합니다. 📔 정답출력 최솟값을 출력합니다. 📕 Code #include using namespa..