수학 34

백준 25206번 너의 평점은 C++

https://www.acmicpc.net/problem/25206 25206번: 너의 평점은 인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치 www.acmicpc.net #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using int64 = long long; int main() { ios_base::sync_with_std..

알고리즘 2023.05.09

백준 2331번 반복수열 C++

https://www.acmicpc.net/problem/2331 2331번: 반복수열 첫째 줄에 반복되는 부분을 제외했을 때, 수열에 남게 되는 수들의 개수를 출력한다. www.acmicpc.net #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using int64 = long long; int64 a; int p; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); ci..

알고리즘 2023.05.08

백준 3060번 욕심쟁이 돼지 C++

https://www.acmicpc.net/problem/3060 3060번: 욕심쟁이 돼지 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 두 줄로 구성되어 있고, 첫째 줄에는 하루에 배달되는 사 www.acmicpc.net #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using int64 = long long; vector lastV(6); vector currV(6);..

알고리즘 2023.05.03

백준 17213번 과일 서리 C++

https://www.acmicpc.net/problem/17213 17213번: 과일 서리 민건이네 과일 농장은 N가지 종류의 과일을 재배하는 중이다. 평소 민건이에게 앙심을 품고 있던 지환이는 민건이를 골탕 먹이기 위하여 민건이네 과일 농장에서 과일들을 훔치기로 다짐했다. www.acmicpc.net 중복조합 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using int64 = long long; int main() { ios_base::sync_with..

알고리즘 2023.03.24

백준 17827번 달팽이 리스트 C++

https://www.acmicpc.net/problem/17827 17827번: 달팽이 리스트 첫째 줄에 노드의 개수 N(2 ≤ N ≤ 200,000), 질문의 횟수 M(1 ≤ M ≤ 200,000), N번 노드가 가리키는 노드의 번호 V(2 ≤ V ≤ N)가 공백으로 구분되어 주어진다. 둘째 줄에 N개의 정수 C1, C2, …, CN이 공백 www.acmicpc.net 한칸씩 이동하면서 탐색을 하면 무조건 시간초과가 날 것 같아서 같은 구간이 반복되는 것을 이용해서 나머지 연산을 통해 문제를 해결하였다. #include #include #include #include #include #include #include #include #include #include #include #include #in..

알고리즘 2023.03.18

백준 2942번 퍼거슨과 사과 C++

https://www.acmicpc.net/problem/2942 2942번: 퍼거슨과 사과 맨체스터 유나이티드의 감독 퍼거슨은 빨간 사과를 R개, 초록 사과를 G개 가지고 있다. 훈련장에 있는 선수들 중 몇 명에게 나누어 주려고 한다. 단, 선수들이 서로 같은 개수의 사과를 받지 못하 www.acmicpc.net r과 g의 최대공약수를 구하고 최대공약수의 약수들을 구한다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using int64 = long lon..

알고리즘 2023.03.02

백준 10166번 관중석 C++

https://www.acmicpc.net/problem/10166 10166번: 관중석 KOI 공연장의 관중석에는 가운데에 있는 무대를 중심으로 반지름이 자연수인 동심원(중심이 같은 여러 원들) 위에 다음과 같이 좌석들이 배치되어 있다. 반지름이 1인 원 위에는 좌석이 1개, 반지 www.acmicpc.net 각도를 직접 구하면 오차가 있을 수 있어서 분수 형태로 풀었다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using int64 = long lon..

알고리즘 2023.02.21

백준 1735번 분수 합 C++

https://www.acmicpc.net/problem/1735 1735번: 분수 합 첫째 줄과 둘째 줄에, 각 분수의 분자와 분모를 뜻하는 두 개의 자연수가 순서대로 주어진다. 입력되는 네 자연수는 모두 30,000 이하이다. www.acmicpc.net 유클리드 알고리즘을 이용해서 최대공약수를 구해서 기약분수를 구한다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using int64 = long long; int getGcd(int a, int b) ..

알고리즘 2023.02.06

백준 16936번 나3곱2 C++

https://www.acmicpc.net/problem/16936 16936번: 나3곱2 나3곱2 게임은 정수 하나를 이용한다. 가장 먼저, 정수 x로 시작하고, 연산을 N-1번 적용한다. 적용할 수 있는 연산은 두 가지 있고, 아래와 같다. 나3: x를 3으로 나눈다. x는 3으로 나누어 떨어져야 www.acmicpc.net 3으로 많이 나누어 떨어지고 2로 적게 나누어 떨어지는 순서대로 정렬했다. 이렇게 정렬하면 앞에서부터 3으로 나누다가 2로 곱하는 순서로 수열을 만들 수 있다. #include #include #include #include #include #include #include #include #include #include #include #include #include #inclu..

알고리즘 2023.02.03

백준 17451번 평행 우주 C++

https://www.acmicpc.net/problem/17451 17451번: 평행 우주 행성 1에 가기 위해 필요한 것보다 세 배의 속도로, 행성 2의 경우 두 배의 속도로 이동하면, 지구에서는 900의 속도만 쌓으면 된다. www.acmicpc.net 최소의 속도를 구하는 것이고 속도를 줄이는것만 가능하기 때문에 뒤에서부터 필요한 만큼만 속도를 올리면서 최소의 속도를 구했다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using int64 = lon..

알고리즘 2023.01.13