본문 바로가기

전체 글137

백준 5430 C++ https://www.acmicpc.net/problem/5430이 문제 쉬웠는데 억울한 문제였다.코드 제일 마지막 부분에 cout 이거 때문에 헤맸다.출력과 관련해서 한 줄을 띄워야한다던데 명확한 기준이 있었으면 좋았을거 같다.#include #include #include #include using namespace std;int testCase;deque d;string ACS, arrString;int arrCount;int main(){ ios_base::sync_with_stdio(); cin.tie(0); cout.tie(0); cin >> testCase; for (int t = 0; t > ACS; cin >> arrCount; cin >> arrString; int num=0; .. 2024. 5. 30.
백준 14391 C++ https://www.acmicpc.net/problem/14391이 문제는 비트마스킹으로 하는데 생각을 처음에 잘못해서 좀 오래 걸렸다.예를 들어 아래 코드 상1100이렇게 생긴게 3을 의미하는데 코드를 만들어 놓고 손으로 그림 그리며 생각할 때0011이렇게 생각을 해서 하나하나 모두 출력해보다가 찾아냈다. 배열을 뒤집어서 가로를 확인한 것과 동일하게 t++로 할려고 했는데 배열을 뒤집은 대로 비트가 돌아가는 것이 아니기에 틀린 방법이었다. #include #include #include using namespace std;int n, m;int result = 0;int paper[5][5];int visited[5][5];vector v;vector adds;int main(){ ios_base::.. 2024. 5. 30.
백준 C++ 2234번 https://www.acmicpc.net/problem/2234 이 문제에서 비트가 켜져있으면 이동하면 안된다라는 점은 쉽게 알아낼 수 있었다.하지만 고민한 문제는 벽을 1개를 허문다는 점이었다.실제로 모든 칸에 대해서 한 비트씩 끄는 건 너무 비효율적이라고 생각했어서 다른 방법을 찾았어야했다.생각보다 방법은 쉽게 할 수 있었는데 visited로 구역을 나누는 것으로 했다. #include using namespace std;//성 방의 갯수 -> sectionNum - 1//가장 넓은 방의 넓이//하나의 벽을 제거하여 얻을 수 있는 가장 넓은 방의 크기int n, m; int sectionSize = 0;int sectionNum = 0;int maxSectionSize = 0;int maxLink.. 2024. 5. 13.
백준 14890 C++ https://www.acmicpc.net/problem/14890이 문제는 조건이 까다롭지 하나하나 따지며 생각하면서 if문으로 뚫으면 괜찮다.실수한게 재귀함수에 return을 넣지 않아서 계속 result가 다르게 나와서 cout을 곳곳에 넣었는데 오히려 이 글을 보시는 분들이 출력을 잘 볼 수 있는 좋은 상황이 된거 같다. #include #include using namespace std;int n, l;int arr[101][101];int temp[101][101];int landCount = 0;int result = 0;void go(int y, int x, int past){ if (x >= n) { //끝까지 옴. //cout 1 || sub 0) { //현재가 더 높다. if.. 2024. 4. 27.