백준(6)
-
[ C++ 백준 1504 ] 특정한 최단 경로
다익스트라를 복습하기 위해서 문제를 풀어보았다. 사실 이렇게 해서 풀릴 줄 몰랐는데그냥 다익스트라를 여러 번 돌려서 해결되었다. 정점 2개를 무조건 지나가야 하기 때문에시작 지점, 정점1, 정점2에서 다익스트라를 이용해 한 번씩 돌려 거리 값을 구하고최소 거리를 계산하는 방식으로 해결했다.#include #include #include #include using namespace std;int INF = 98765432;long NodeDist[801];vector> Nodes[801];int N, E;void BFS(int start){ memset(NodeDist, INF, sizeof(NodeDist)); NodeDist[start] = 0; queue q; q.push(start); while..
2024.05.11 -
[ C++ 백준 1101 ] 카드 정리 1
https://www.acmicpc.net/problem/1101풀이 상자에 카드를 옮겨야하는 경우의 수를 체크해 조커 상자에 다 갖다 넣으면 된다.하지만 조건 3번을 보면 같은 색을 가진 모든 카드는 모두 같은 박스에 있어야하기 때문에 이미 그 색의 카드를 정리한 상자가 있는 경우에는 옮겨야한다. 1. 상자가 비어있는 경우2. 상자에 있는 카드의 색이 1종류만 있는 경우+ 그 색의 카드를 정리한 상자가 없는 경우를 제외하고 나머지 경우에는 옮겨주는 수를 센다. 이러한 방식으로모든 박스가 조커 박스인 경우를 하나씩 계산하여 최소값을 구하면 된다. 개인적으로 어려웠던 부분문제는 굉장히 쉬운데, 이해 과정에서 어려움을 겪었다.0은 비어있는 것이고, 군데 군데 적혀있는 숫자들이 컬러값인 줄 알았는데,알고보니..
2024.05.10 -
[ C++ 백준 1062 ] 가르침
백트래킹 복습할 겸 문제를 풀어보았다. 시간 초과로 인해 계속 수정하느라 원래 코드와는 일부분 바뀌긴 했으나시간 초과가 났던 이유는 이 부분 때문이었다. i = 0 부터 시작하면 시간초과가 난다.당연한 부분인데 당연히 i = idx라고 적어놓은 줄 알고 30분을 날렸다. ㅎ.ㅎ #include #include #include #include using namespace std;vector vec;bool visited[26];int answer = 0;int N, K;int CanReadNum(){ int value = 0; for (int i = 0; i > N >> K; string inputStr; for (int i = 0; i > inputStr; vec.push_back(inputStr.su..
2024.05.09 -
[ C++ 백준 1149 ] RGB거리
https://www.acmicpc.net/submit/1149/77958078 DP 복습 겸 한 번 풀어보았다.struct를 써서 풀어보고 싶어서 이런 식으로 코드를 짰는데, 구조나 속도면에서 좋은지는 잘 모르겠다.#include #include #include using namespace std;struct RGB{public: RGB() : R(0), G(0), B(0) { } RGB(int r, int g, int b) : R(r), G(g), B(b) {}public: int R; int G; int B;};int hCount;vector hColorCostInfos;int DP[3][1001];// 색, 몇 번째 집int main(){ cin >> hCount; for (int i = 0; i..
2024.05.08 -
[ C++ 백준 2473 ] 세 용액
이 블로그 글은 문제에 대한 해설이 아닌 글쓴이가 이 문제를 푼 과정을 설명하는 글입니다. 문제에 대한 해설을 보길 원한다면 다른 글을 권장합니다. 골드 이상 난이도 백준 문제를 풀 때는 알고리즘 분류를 보고 푸는 편이다. 정렬, 이분 탐색, 두 포인터를 사용해서 푸는 거라는 힌트를 받을 수 있다. 문제를 간단하게 요약하자면 여러 용액이 입력되고, 서로 다른 3개의 용액을 선택해서 합했을 때 0에 가장 가까운 용액을 만들어내는 세 용액을 찾는 프로그램을 작성하면 된다. 그렇다면 어떻게 풀 수 있는가? 알고리즘 분류를 보면 정렬, 이분 탐색, 두 포인터를 사용하라고 나와있다. 어떻게 풀어야 할까? 일단은 용액 3개를 선택해야 된다는 게 문제였다. 용액 2개라면 간단하게 두 포인터를 이용해서 풀 수 있었는데..
2023.10.22 -
[ 백준 ] solved.ac 플레 도전기
여기서 solved.ac란? 간단하게 이야기해서 백준 문제풀이한 것을 토대로 티어 같은 것을 나타내주는 웹사이트이다. 현재 강산의 티어? 2023 - 10 - 19일 기준 강산의 solved.ac 티어는 골드 2, 1345포인트이다. solved.ac의 랭크 포인트는 상위 100문제의 난이도 합 유저의 CLASS 총 푼 문제의 갯수 로 나타내진다. CLASS 5까지는 점수가 CLASS 하나 오를 때마다 50점씩 오른다 CLASS 1 = +0 CLASS 2 = +50 CLASS 3 = +100 CLASS 4 = +150 CLASS 5 = +200 인 것 같다. CLASS 6부터는 10점씩 오른다. maybe? 플레를 가는 가장 쉬운 방법 클래스 5를 찍는다. 플레1 ~ 골드5 사이 문제들을 왕창 푼다! 일..
2023.10.19