본문 바로가기
반응형

코딩/문제풀이-백준35

백준 1083번 - 소트 (C++) 해결 방법일단 문제 해설이 굉장히 난해한데 예제마저 겁나 대충줘서 이해하는데 상당히 애먹었다.예제 보고 처음엔 그냥 앞에서 부터 n번 버블정렬 하는 문제인줄.."사전순으로 가장 뒷서는 것"이라는 표현을 처음 봤는데 그냥 맨 큰 숫자가 맨 앞에 오라는 말이였다.질문 게시판 보면 "사전순이면 10보다 작지만 맨 앞자리가 더 큰 9 10 9가 10 9 9보다 앞 아닌가요?" 라고 하던데 맞는말 아닌가? 싶다. 문제에 간단한 예시나 풀어서 설명을 조금 해줬으면 좋았을텐데 넘 아쉽...암튼 결론은 현재 교환 가능한 범위 이내에서 맨 앞으로 옮길 수 있는 가장 큰 숫자를 옮기면 된다. = 그리디아쉬웠던 점간만에 해서 입출력 테스트 하려고 cin 아래에 바로 cout 까맣게 잊고 테스트 케이스 넣으면서도 음.. ri.. 2024. 10. 28.
백준 10282번 - 해킹 (C++) 문제 해결 방법 우선순위 큐(priority_queue)에 현재 감염된 컴퓨터와 연결된 컴퓨터들을 감염시간과 함께 pair 형식으로 넣어주었다. 큐에서 이를 반복하였다. 또한, 소요 시간이 초기값이 아니라면, 이미 한번 이 컴퓨터가 해킹당했고, 우선순위 큐에서 이전에 탐색되었다는 의미는 이미 더 짧은 소요 시간으로 도달할 수 있다는 의미이기 때문에 continue해주었다. 아쉬웠던 점 없음 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 6.. 2021. 11. 3.
백준 13460번 - 구슬 탈출 2 (C++) 문제 해결 방법 DFS를 사용해서 해결했다... (덕분에 해결 시간은 매우 높다) 실행 방식은 그냥 평범한 DFS... 라서 더 설명할 것이 없다. 구슬의 이동은 따로 구슬의 좌표들을 미리 저장해 구슬을 매번 찾는 손해는 없도록 하였으며, 구현은 그냥 반복을 통하여 이동/탐색하며 빈칸이 아닌 공간을 찾고, 막혀있는 공간을 만난다면 그 바로 이전 칸으로 이동하게끔 하였다. 예외적으로 구멍인 O는 만나면 이동이 아니라 구슬이 삭제되게끔 하였다. 아쉬웠던 점 보자마자 감이 와서 바로 푼 문제인데, BFS로 풀어야 하는데 아무 생각없이 브루트포스(전체탐색)이니 간단한 DFS로 해야겠다~ 라는 안일한 생각을 했다. 사실 최단거리 구하는거면 당연히 BFS를 생각했어야 했는데 수련이 부족한듯 ㅜㅠㅠ 코드 1 2 3 .. 2021. 10. 26.
백준 2252번 - 줄 세우기 (C++) 문제 해결 방법 위상 정렬을 사용하는 대표적인 문제이다. 정점기준 보내주는 간선들의 숫자, 받은 간선의 횟수를 저장하는 배열을 만들어서 이를 기반으로 큐를 사용하여 위상정렬을 했다. 아쉬웠던 점 초기에 큐에 넣는 과정을 입력구간에서 어떻게 잘 해결할 수 있을 것 같기도 한데, 결국 받은 간선을 저장한 배열을 순회하며 그 숫자가 0인 정점을 일일이 찾은게 뭔가 아쉽다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 #include #include #include using namespace std; int m.. 2021. 10. 8.
반응형