백준 1561 C++ 처음 이 문제를 보곤 priority_queue가 떠올랐다. 실제로 pq로 구현을 했지만 시간 초과가 나왔었다.그 다음으로 떠올랐던 방법은 최소 공배수를 구해서 아이들 수에 나누는 방식이었다. 이 방법도 동일하게 시간 초과가 나왔다. 그래서 어떤 방법을 사용해야하는지 감이 잡히지 않아. 다른 글들을 찾아보았고 생각지도 못한 방법으로 문제를 풀었다. 일단 n이라는 아이들이 모두 탈 수 있는 최소의 시간을 구한다.이 n이라는 시간에 몇개의 놀이기구를 탈 줄 모른다. 100개 중 99개를 n이라는 시간에 탑승할 가능성도 있다.여기서 우린 n번째 아이가 몇번 놀이기구를 탑승하는지 알아야한다.그래서 최소시간 - 1을 해서 그 전에 몇명이 탔는지 찾아낸다. 다음으로 n번째 아이를 찾기 위해서 %연산자를 통해 현재 .. 2025. 2. 17. 백준 1072 C++ 이 문제에서 좀 놀랐던 부분이 있다.코드에서 보면 int nwp = (newPlayWinCount * 100) / newPlayCount;이렇게 확률을 구하는 부분인데 int nwp = newPlayWinCount / newPlayCount * 100;이렇게 작성하면 틀린 답으로 나온다. 이미 나눗셈을 먼저 실행해버리면 int는 정수형이기 때문에 뒤에 있는 소수점이 사라지기 때문이다. 그렇기에 정확한 값을 나타낼 수가 없어서 틀린 답으로 나온다. #include typedef long long ll;using namespace std;ll playCount, playWinCount;int percent;bool check(ll num){ ll newPlayCount = playCount + num; l.. 2025. 2. 10. 백준 1269 C++ https://www.acmicpc.net/problem/1269sort 이후 Index 옮기면서 풀면 간단한 문제다. #include using namespace std;int a, b; vector va, vb;int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> a >> b; int temp; for (int i = 0; i > temp; va.push_back(temp); } for (int i = 0; i > temp; vb.push_back(temp); } sort(va.begin(), va.end()); sort(vb.begin(), vb.end()); int Same = 0; int aIndex = 0, bI.. 2025. 2. 10. 백준 1269 C++ https://www.acmicpc.net/problem/1269sort 이후 Index 옮기면서 풀면 간단한 문제다. #include using namespace std;int a, b; vector va, vb;int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> a >> b; int temp; for (int i = 0; i > temp; va.push_back(temp); } for (int i = 0; i > temp; vb.push_back(temp); } sort(va.begin(), va.end()); sort(vb.begin(), vb.end()); int Same = 0; int aIndex = 0, bI.. 2025. 2. 9. 이전 1 2 3 4 5 6 7 8 ··· 23 다음