본문 바로가기

Problem/시뮬레이션

[C/C++] BOJ 3048 :: 개미 BOJ 3048 :: 개미 문제 링크 : https://www.acmicpc.net/problem/3048 나의 풀이 개미의 정보를 담을 구조체를 만든다.dir : 개미의 방향, 0 : 오른쪽으로 이동하는 그룹, 1 : 왼쪽으로 이동하는 그룹alpha : 개미의 알파벳 반복문을 돌며 오른쪽으로 이동중인 개미가 왼쪽으로 이동중인 개미와 마주쳤을 때 둘의 위치를 바꾼다. 나의 코드 Github : https://github.com/j2wooooo/Daliy_Algorithms/blob/master/Daliy_Algorithms/BOJ_3048/BOJ_3048.cpp 12345678910111213141516171819202122232425262728293031323334353637383940414243444..
[C/C++] BOJ 5373 :: 큐빙 BOJ 5373 :: 큐빙 문제 링크 : https://www.acmicpc.net/problem/5373 아무리 생각해도 노가다 방법밖에 생각이 안나서 ㅠㅠ 그렇게 풀기 싫어가지구.. 백준님 푸는 방법을 보고 공부해서 직접 같은 방식으로 구현해 보았다! 문제를 보고 이렇게 푸는 방식을 생각하시다니.. 대단한 것 같다!! 그리고 개발환경 안쓰시고 문제 제출하는 창에 직접 코딩하심 ㄹㅇ...후덜덜ㅎ... 참고 링크 : https://www.youtube.com/watch?v=8XJcnUPIu_Q 나의 풀이 시계방향이동하는 것을 구현하면 반시계방향 이동하는 것을 구현할 필요가 없다!시계방향으로 세 번 이동한 것이 반시계방향으로 한 번 이동한 것과 같기 때문! 이를 제외하고 남은 6가지 경우 U, D, F, ..
[C/C++] BOJ 16235 :: 나무 재테크 BOJ 16235 :: 나무 재테크 문제 링크 : https://www.acmicpc.net/problem/16235 나의 풀이 문제를 구현할 때 특별히 어려운 기술을 요구하는 문제는 아니다. 문제를 잘 읽고 그대로 코딩하면 된다! * 코드를 다 짜고 한 가지 간과했었던 점을 발견했는데가을의 경우, 갱신을 하면서 배열을 탐색하여, 지금 갱신된 값들도 탐색을 하는 오류를 범한 점이다.물론, 갱신되는 나무의 나이는 1이고 탐색 시에는 나무의 나이가 5의 배수인 것을 탐색하기 때문에 결과에는 아무런 지장이 없지만, 이건 아주 중대한 실수였다..!!! 따라서, 봄에 나무가 존재하는 위치를 새로운 벡터에 저장해두고, 가을에 이 벡터를 탐색함으로써 문제를 해결하였다. * 죽게 되는 나무를 벡터에서 제거하기 위하여,..
[SW Expert Academy] 1210. Ladder1 [SW Expert Academy] 1210. Ladder1 문제 링크 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14ABYKADACFAYh&categoryId=AV14ABYKADACFAYh&categoryType=CODE 나의 풀이 1. 도착지점인 마지막 행에서 2를 찾아 위로 올라가면서 출발지점을 찾아나간다. 2. 왼쪽, 오른쪽, 위쪽 순으로 탐색하며 사다리의 범위를 벗어나는지, 0인지를 확인하고 continue 한다. 3. 지나간 곳을 0으로 바꾸고 현재 지점을 갱신한 후 반복한다. 4. 가장 윗 행에 도달했을 때, 그 행의 열의 좌표를 반환한다. 나의 코드 Github : https://g..
[C/C++] BOJ 1331 :: 나이트 투어 BOJ 1331 :: 나이트 투어 문제 링크 : https://www.acmicpc.net/problem/1331 어김없이 어이없는 실수를... 1. 수식에 괄호를 쓰지 않음 int srow = 5 - (str[1] - '1'); 이 부분을 괄호 없이 진행하였더니 원하지 않는 값이 나왔다. 2. flag라고 써야하는데 true라고 썼다.. 이건 진짜..... if(flag) cout str; int srow = 5 - (str[1] - '1'); int scol = str[0] - 'A'; int prow = srow; int pcol = scol; visited[prow][pcol] = 1; for (int i = 0; i > str; int row = 5 - (str[1] - '1'); int col..
[C/C++] BOJ 13901 :: 로봇 BOJ 13901 :: 로봇 문제 링크 : https://www.acmicpc.net/problem/13901 진짜.. 돌았나 ㅠㅠ 이렇게 쉬운 문제를.. 3번이나 틀리고 맞았다 ㅋㅅㅋ 나의 정답 비율은 아주 팍팍팍 떨어지고 있균^^! 내가 잘못 생각하고 푼 부분 1) 다음 칸으로 이동하였을 때, 무조건 처음 방향에서 다시 시작했다. 2) 다음 칸으로 이동하였을 때, 무조건 현재 방향의 다음 방향에서 시작했다. ( 1), 2) 다음 칸으로 이동하고 방향 그대로 일직선으로 가도록 해야함.) 3) 나누기 수식을.. 괄호를 안하고 해서 잘못된 결과가 나왔다. (이건 정말 바보같은 짓..) 문제 좀 제대로 보고!!! 코드도 영혼을 담아서 짜란 말이드어아아아.. 오늘 집중이 잘 안되어서 그런것이라고 생각하겠어!^..
[C/C++] BOJ 1986 :: 체스 BOJ 1986 :: 체스 문제 링크 : https://www.acmicpc.net/problem/1986 나의 코드 Github : https://github.com/j2wooooo/Daliy_Algorithms/blob/master/Daliy_Algorithms/BOJ_1986/BOJ_1986.cpp 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111..
[C/C++] BOJ 1063 :: 킹 BOJ 1063 :: 킹 문제 링크 : https://www.acmicpc.net/problem/1063 풀이 방법 1. 입력된 방향으로 킹이 이동했을때 범위를 벗어나는지 확인한다.2. 이동한 곳의 위치가 돌의 위치와 같은지 확인한다.2-1. 같으면, 돌의 위치를 이동시켰을 때 범위를 벗어나는지 확인한다.2-2. 돌의 위치를 갱신한다.3. 킹의 위치를 갱신한다. 나의 코드 Github : https://github.com/j2wooooo/Daliy_Algorithms/blob/master/Daliy_Algorithms/BOJ_1063/BOJ_1063.cpp 12345678910111213141516171819202122232425262728293031323334353637383940414243444546..