본문 바로가기

알고리즘 문제풀이/백준134

[백준 4485] 녹색 옷 입은 애가 젤다지? www.acmicpc.net/problem/4485 4485번: 녹색 옷 입은 애가 젤다지? 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주 www.acmicpc.net bfs로 풀어도 되지만 다익스트라를 사용해서 풀었다. 다익스트라 사용시 우선순위 큐를 사용함. 다익스트라 구현방법 외우자..ㅠ #include #include #define INF 1e9 using namespace std; int n; int cave[125][125]; int dis[125][125]; struct s { int row, col, cost; }; struct cmp { bo.. 2021. 1. 5.
[백준 2609] 최대공약수와 최소공배수 www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net #include using namespace std; int gcd(int a, int b) { while (b) { int r = a % b; a = b; b = r; } return a; } int lcm(int a, int b) { return a / gcd(a, b) * b; } int main(void) { int n, m; scanf("%d%d", &n, &m); printf("%d\n%d\n", gcd(n, m), lcm(n, m)); return 0; } 2021. 1. 4.
[백준 1037] 약수 www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net #include #include using namespace std; int n; int arr[50]; int main(void) { scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d", &arr[i]); } sort(arr, arr + n); printf("%d\n", arr[0] * arr[n - 1]); return 0; } 2021. 1. 3.
[백준 1026] 보물 www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net #include #include using namespace std; int n; int a[50]; int b[50]; int main(void) { scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d", &a[i]); } sort(a, a + n); for (int i = 0; i < n; i++) { scanf("%d", &b[i]); } int m.. 2021. 1. 3.