반응형 Programming Solve/BOJ60 BOJ 1238 - 파티 / C++ 문제 링크 : https://www.acmicpc.net/problem/1238 1238번: 파티 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부터 M+1번째 줄까지 i번째 도로의 시작점, 끝점, 그리고 이 도로를 지나는데 필요한 소요시간 Ti가 들어 www.acmicpc.net 풀이 먼저 X 노드에서 다른 모든 노드들간의 거리를 구한다. 다음으로, 1부터 n번 노드까지 모두 다익스트라를 수행한다. 노드의 개수가 최대 1000개이므로 우선순위 큐로 구현하였다면 시간 초과가 나지 않는다. i번 노드에서 X번 노드까지의 거리를 임시 변수 tmp에 더하고 X번 노드에서 i번 노드까지의 거리도 tmp에 더하면 왕복 거리가 완성되고 이를.. 2022. 3. 20. BOJ 2503 - 숫자 야구 / C++ 문제 링크 : https://www.acmicpc.net/problem/2503 2503번: 숫자 야구 첫째 줄에는 민혁이가 영수에게 몇 번이나 질문을 했는지를 나타내는 1 이상 100 이하의 자연수 N이 주어진다. 이어지는 N개의 줄에는 각 줄마다 민혁이가 질문한 세 자리 수와 영수가 답한 스트 www.acmicpc.net 문제 풀이 1. 숫자는 1~9까지이다. 2. 세 자리 수 모두 겹치는 숫자가 없다. 즉, 가능한 숫자는 123 ~ 987이다. 따라서 미리 123부터 987까지 들어있는 배열을 만들고 n개의 질문마다 strike, ball을 직접 해보며 조건에 일치하지 않으면 배열에서 삭제한다. 결국 배열에는 가능한 숫자들만 남아있기 때문에 해당 배열의 size를 리턴해주면 된다. #include .. 2022. 3. 10. BOJ 1120 - 문자열 / C++ 문제 링크 : https://www.acmicpc.net/problem/1120 1120번: 문자열 길이가 N으로 같은 문자열 X와 Y가 있을 때, 두 문자열 X와 Y의 차이는 X[i] ≠ Y[i]인 i의 개수이다. 예를 들어, X=”jimin”, Y=”minji”이면, 둘의 차이는 4이다. 두 문자열 A와 B가 주어진다. 이때, A의 www.acmicpc.net 문제 풀이 문자열 a와 b를 입력받아 두 문자열의 차이가 최소일 때, 그 차이의 수를 출력하면 되는 문제이다. 이 때, a.size() a >> b; int diffSize = b.size() - a.size(); if(diffSize == 0){ cout 2022. 3. 8. BOJ 1654 - 랜선 자르기 / C++ 문제 링크 : https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 문제 풀이 이미 갖고 있는 랜선들 k개를 잘라 n개의 랜선을 만들 때, 랜선 하나의 최대 길이를 구하면 된다. 그러기 위해서는 랜선의 길이를 x라 했을 때, 원소들에 대해 (LANlines[i] / x)를 구하여 몇 개의 랜선을 만들 수 있는지 구한 뒤 모두 더해 n개 이상 만들 수 있다면 정답이 될 수 있다. 따라서 0부터 랜선의 최대 길이를 이분 탐색.. 2022. 3. 4. 이전 1 ··· 5 6 7 8 9 10 11 ··· 15 다음 반응형