'SW 업무 관련/백준' 카테고리의 글 목록 (2 Page)

SW 업무 관련/백준 69

[C언어] 1600. 말이 되고픈 원숭이

BFS의 방문 처리를 3차원으로 해줘야하는 문제. 2206번 벽 부수고 이동하기의 응용 버전이다. 딱히 큰 응용도 아님...나는 벽을 만났을 때만, 말 처럼 움직인다고 생각하고 풀었는데....계속 틀리는거다!!!알고보니..벽에 상관없이 그냥 최단거리 구하는 문제였다..ㅜ,ㅠ 중요한건!! 방문 처리를 할 때, 말처럼 움직인 횟수에 따라 방문 처리하는 배열이 달라진다. 왜냐하면!! 방문 처리는 상하좌우 움직임과 함께 말처럼 움직일 때의 최단 거리를 위해서 하는 것이라, 같은 상태에서만 방문 처리를 해줘야 한다. 움직임은 말 처럼 움직이는 것에 제한을 받기 때문!!! 말 처럼 1번 뛰었는데 0번 뛴 방문 체크 배열에 방문 체크를 하면 안 된다. 서로 상태가 다를 때의 방문을 의미하기 때문..설명하기 어렵다. ..

[C언어] 15684. 사다리 조작

정답률에 비해 나름 쉽게 풀었던 문제, 정답률이 전부가 아님을 깨달았음에도..정답률 낮으면 일단 쫄고본다.ㅜ,ㅠ 접근법1. 배열에 세로 사다리를 i*2씩 해서 배열에 표시해준다. ex) 10101 요런식으로2. 10101 의 배열에 입력된 사다리를 0 사이사이에 넣어준다.3. 사다리의 개수를 0~3개까지 전부 따져주어여 하므로, 개수를 늘려가며 탐색을 해주며, 정답이 존재하면 바로 break걸고 나온다.4. 연구소와 같이 사다리 사이의 0에 사다리를 모든 경우의 수에 맞게 넣어준다.5. 0~3개의 주사위가 가로로 놓아지면, 시작과 끝이 같은지 체크! 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748..

[C언어] 12100. 2048(EASY)

상하좌우 를 5번 조합하여 구할 수 있는 최댓값을 구하면 된다. 배열 상하좌우 미는거 구현이 귀찮지, 그냥 재귀 문제이다. 미는거 깔끔하게 다시 만들어봐야지ㅜ,ㅠ더럽 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713..

[C언어] 15685. 드래곤 커브

진짜 왠만하면 풀이 검색 안 하려고 노력하는데, 이거는 검색해버렸다. 정답률이 진짜 50% 말이 됨??규칙 안 떠오르면 진짜 이건 노답인데ㅜ,ㅠ 시험 때 이런거 안 나왔으며누,ㅠ 접근법 0G : 01G : 0, 12G : 0 1, 2 13G : 0 1 2 1, 2 3 2 14G : 0 1 2 1 2 3 2 1, 1 2 3 2 3 3 2 자!!규칙이 보이는가!!! 0~3은 방향을 나타낸다. 3G를 예로 들면 0 1 2 1은 2G와 동일 2 3 2 1은 0 1 2 1을 뒤에서부터 1씩 더한 것이다. 0 1 2 1 -> 2 3 2 1 최정적으로는 (x + 1) %4해준다...ㅎㅎ 그걸 배열에 그래...사각형 카운트만 해주면 된다. 12345678910111213141516171819202122232425262..

[C언어] 14500 테트로미노

삼전만 바라본다는 마음으로 LG 인적성 공부를 안 했지만...막상 망치고 나니 아쉽다.그래도 난 내일 하닉 적성이 있으나 알고리즘을 푼다!!!!!!내 마음을 알아줘 삼성!!!!!!!!!!!!!!!!!!! 정답률 보고 쫄아서, 테트로미노로 맵을 채울 때 가장 많이 사용되는 테트로미노의 개수인 줄 오해를 하였다...ㅎㅎ 그냥 모든 경우의 수 다 해주면 된다. 접근법.아래 19가지 경우에 대해 모든 좌표에서의 값 중에서 최댓값을 구하면 끝. DFS나 BFS로 어떻게 풀지....???? 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768..

[C언어] 14501. 퇴사

N이 작아 재귀를 돌릴 줄 아는자!!그냥 푸리~~DP로 푸는걸 생각해봐야것다. 12345678910111213141516171819202122232425262728293031323334353637383940#include #include typedef struct{ int T, P;}Money; int N, visit[16], MAX;Money M[16]; void DFS(int cur, int total){ if (total > MAX) MAX = total; for (int i = cur + 1; i N) continue; DFS(i + M[i].T - 1, total + M[i].P); } return;} int main(){ scanf("%d", &N); MAX = -1; for (int i = ..

[C언어] 9207. 페그 솔리테어

14620 꽃길이랑 정답률 비슷하길래 쉬운줄 알았는데 풀었더니...후...어렵다. 접근 법. 1. O로 표시되어 있는 곳들의 모든 움직임을 탐색한 후에, O가 최소가 될 때의 움직임 횟수를 구하면 된다. 그럼 어떻게 모든 움직임을 탐색할 수 있을까?? 반복문으로 O가 있으면 그냥 백트랙킹으로 움직였다. 빽 했다를 반복하면 된다! 이렇게 모든 O에 대해 탐색해보면 정답이 나온다. 기존의 재귀와는 다르게 딱히 재귀의 종료 기준이라 해야되나, 갑자기 생각이 안 나는데. 조건에서 벗어나면 재귀 그만 들어가게 하는 그런 조건문이 없는 것 같다. 아마도..... 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474..