본문 바로가기

[C/C++] BOJ 1726 :: 로봇 BOJ 1726 :: 로봇 문제 링크 : https://www.acmicpc.net/problem/1726 나레기ㅠㅠㅠㅠ 왜이렇게 성급한거야 진짜!!! 틀렸습니다를 두 번 경험한 후, 맞았습니다! 가 나옴... 내가 틀렸던 이유 1) 문제 정독 X로봇을 모든 방향 다 회전시킬 수 있는 건 줄 알고 코딩하였다.. 2) 잘못된 조건문 처리이미 방문했을 때 => 그 방향의 다음 칸으로 넘어갈 수 있기 때문에 continue 해야 한다.궤도가 없을 때 => 그 방향의 다음 칸으로 넘어갈 수 없기 때문에 break 해야 한다. 나의 코드 Github : https://github.com/j2wooooo/Daliy_Algorithms/blob/master/Daliy_Algorithms/BOJ_1726/BOJ_172..
[C/C++] BOJ 1107 :: 리모컨 BOJ 1107 :: 리모컨 문제 링크 : https://www.acmicpc.net/problem/1107 처음에는 수학적으로 접근하였다. 이동하려는 채널을 누를 수 없을 때, 같은 자리 수,가장 가까운 작은 수 만들기.가장 가까운 큰 수 만들기. 한 자리 작은 수,제일 큰 수 만들기. 한 자리 큰 수.제일 작은 수 만들기. 이동한 채널에서 (+)/(-)를 눌러 채널에 도착한 후, ans 갱신 ans와 이동하려는 채널에서 현재 채널(100)을 뺀 값 비교 후 갱신. 그런데 이렇게 다 분할하여 짜려고 하다보니 코드가 지저분해지고,. 반례들이 무궁무진하게 나오면서.. 굉장히 어려웠다 ㅠㅠ 그래서 다시 refresh해서 그냥 모든 채널을 이동하는 방식으로 코드를 수정하였다. ... 완전히 엎어버렸다능 백준 ..
[C/C++] BOJ 10026 :: 적록색약 BOJ 10026 :: 적록색약 문제 링크 : https://www.acmicpc.net/problem/10026 나의 코드 Github : https://github.com/j2wooooo/Daliy_Algorithms/blob/master/Daliy_Algorithms/BOJ_10026/BOJ_10026.cpp 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798// 백준알고리즘 10026번 :: 적록색약#include#i..
[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 1103 :: 게임 BOJ 1103 :: 게임 문제 링크 : https://www.acmicpc.net/problem/1103 DFS + DP 방식으로 문제를 풀었다! 나는 두 가지 처리를 못해서 혼자 힘으로 풀지 못했다.. 1) dp 배열 안에 저장된 값이 있을 때 그것을 이용하기.값이 있으면 바로 그 값을 return 해 주면 되는데 이 부분을 고려하지 않았다. 2) count하는 부분.난 dfs의 인자로 count를 주어서 풀이하려고 했는데 계속 틀렸습니다. 가 떴다.결과적으로 인자를 제외하고 코드를 변형시켰더니 맞았는데 이 부분은 내가 자세하게 파고들어서 왜 틀렸는지 알아내야 한다.. 아직 잘 모르겠다. 원래는 이 부분이 // 범위를 넘어갈 때 if (x = N || y = M) return 0; // 구멍에 빠질 ..
[C/C++] BOJ 14925 :: 목장 건설하기 BOJ 14925 :: 목장 건설하기 문제 링크 : https://www.acmicpc.net/problem/14925 나는 왜 BFS 로 하면 풀 수 있을 것이라고 계속 생각했을까 ㅠㅠ?1000*1000에 (V+E)만큼 탐색해야 하는 것을 알고 있었지만.. 예외 처리를 많이 해주면 되는 건줄 알고 bfs에서 빠져나오지 못해 계속 시간초과가 나왔다 ㅠ 하다하다 안되어서 결국 이 문제를 푸는 알고리즘을 찾아보았는데 다이나믹 프로그래밍으로 푸는 것이었다.!!!!!! 배열을 처음부터 끝까지 한 번 돌려야 한다는 것을!!! 왜 생각을 못했을까!!!!!!!! 알고나니 빨리 풀렸다.. 흑 나의 풀이 1. 시작 행과 시작 열의 땅에 목장을 세울 수 있다면 1을 저장, 세울 수 없다면 0을 저장한다. 2. 현재 땅이 ..
[C/C++] BOJ 9663 :: N-Queen BOJ 9663 :: N-Queen 문제 링크 : https://www.acmicpc.net/problem/9663 나의 풀이 1. backtracking 방법으로 queen을 놓으며 방법의 개수를 센다. 2. 반환조건 : 1. N개의 queen을 모두 놓은 경우 ans를 갱신하고 return. 2. 현재 행에 queen을 놓지 못하고 다음 행으로 넘어간 경우 return. (col >= N) (N*N 행렬에 N개의 queen을 놓으려면 한 행에 하나의 queen이 반드시 놓여져야만 한다.) 3. 탐색 행이 N을 넘어간 경우 return. (row >= N) (마지막 행까지 queen을 놓았는데 N개의 queen을 놓지 못한 경우) 3. ▥, ▤, ▨, ▧ 방향에 queen이 채워져 있지 않은 경우,qu..
[C/C++] BOJ 1799 :: 비숍 BOJ 1799 :: 비숍 문제 링크 : https://www.acmicpc.net/problem/1799 문제 풀이 두 방향의 대각선에 비숍이 놓여져 있는지 확인하면서 처음부터 끝까지 찾는 일반적인 방법으로는 계속 시간초과가 났다. 3시간 동안 생각해보았지만 ㅠㅠ 시간을 줄일 수 있는 방법을 알아내지 못하여 다른 사람들의 코드를 참고해 풀기로 하였다.. 내가 참고한 블로그 : http://wookje.dance/2017/11/01/boj-1799-%EB%B9%84%EC%88%8D/ ★ 체스판을 두 경우로 나누어 푸는 것이 핵심적인 방법이다! 비숍의 경우, 검은색 칸과 흰색 칸은 각자의 비숍을 놓을 수 있는 자리에 영향을 주지 않는다.검은색 칸은 검은색 칸끼리만 영향을 받고 흰색 칸은 흰색 칸끼리만 영향..