본문 바로가기

코딩공부66

(c++) 다익스트라 9370번: 미확인 도착지 https://www.acmicpc.net/problem/9370 9370번: 미확인 도착지 (취익)B100 요원, 요란한 옷차림을 한 서커스 예술가 한 쌍이 한 도시의 거리들을 이동하고 있다. 너의 임무는 그들이 어디로 가고 있는지 알아내는 것이다. 우리가 알아낸 것은 그들이 s지점에서 www.acmicpc.net 9370번: 미확인 도착지 다익스트라 : 우선 순위 큐 네 번째 문제이다. 앞선 문제와 마찬가지로 기본 알고리즘에서 거의 건들지 않고, 입력 부분만 생각하면 된다. 시작점이 주어지고, 도착점은 여러 개이고, 도착점의 최단 경로가 주어지는 정점 사이의 간선을 포함할 경우만 출력하면 된다. 다익스트라는 두 번 실행하는데 1번 째는 시작점에서 다익스트라를 실행하고 2번 째는 지나가야 하는 정점 두.. 2024. 1. 6.
(c++) 13549번: 숨바꼭질3 다익스트라 코드 https://www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net 13549번: 숨바꼭질3 BFS를 이용하여 풀 수도 있고, 다익스트라로 풀 수 있는 문제이다. 아래 코드는 다익스트라로 푼 것이다. 기존의 다익스트라 코드에서 앞 뒤로 한 칸 이동과 두 배로 이동하는 것을 각각 구현하여 코드 가독성을 높여보았다. 문제를 보면 숫자 한 칸 간격으로 무향 간선으로 이어져 있고, 각 숫자의 두 배의 숫자에 유향 간선이 있다. 4 →.. 2024. 1. 4.
(c++) 다익스트라 문제 1504번: 특정한 최단 경로 https://www.acmicpc.net/problem/1504 1504번: 특정한 최단 경로 첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐서 세 개의 정수 a, b, c가 주어지는데, a번 정점에서 b번 정점까지 양방향 길이 존 www.acmicpc.net 1504번: 특정한 최단 경로 일반적인 다익스트라 문제지만 정점과 간선을 여러 번 들릴 수 있고, 두 개의 정점을 꼭 들려서 최종 정점에 도달하여야 한다. 여러 가지 방법으로 풀 수 있지만 나는 다익스트라 3번을 사용하여 해결했다. 일단 무조건 1번 정점부터 마지막 번호의 정점으로 도착하는 경우이므로 두 가지 경우의 수를 도출할 수 있다. 두 가지 경우.. 2024. 1. 3.
(c++)다익스트라 알고리즘 - 1753번 : 최단경로 https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net 다익스트라 알고리즘 유향 그래프에서 가중치가 적용된다면 가중치를 가장 적게 하는 결과를 내는 알고리즘이다. 출발점으로 하나의 노드를 선택하여 배열의 초기값으로 선택된 노드에서 이어져 있는 노드에 대한 가중치를 넣어준다. (자기 자신은 0으로 한다.) 해당 노드로 바로 갈 수 있는 간선이 존재하지 않는다면 INF 즉 최댓값으로 둔다. 초기 배열이 완성된다면 자기.. 2024. 1. 2.
(python) 1406 에디터 스택 풀이 https://www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 연결리스트 공부 중 1406번 에디터 문제를 보았지만 연결리스트로 풀기가 상당히 힘들어 스택으로 풀었다. 풀이 커서라는 것을 코딩으로 구현을 해야 하는데 연결리스트로는 양뱡향 원형 리스트로도 풀 수는 있지만 클래스 정의에 노드 정의까지 연결리스트 공부는 정말 잘됐지만 풀기에 너무 오래 걸려서 포기했다. 커서 이동에서 스택 두 개를 이용하면 정말 간단하게 풀 수 있다. 커서를 이동할 때마다 스택 요소.. 2023. 4. 8.
컴퓨터 공학과 학생의 군대 컴퓨터 공학과나 비슷한 과일 때 경우 따라서 전공 살려서 보직을 받을 수는 있지만 나처럼 1학년 끝나고 가는 경우라면 일반적인 보직을 받게 된다. 군대에서는 공부를 할 수 있을까? YES 1. 책 군부대마다 공부할 수 있는 여건이 잘 되어있는 경우가 대부분이다.(병사 복지다.) 꼭 코딩 공부가 아니더라도 좋은 책들이 분기마다 들어오는데 시국이 시국인지라 IT 관련 책이 많고 자기 개발서 등 너무 좋은 책들이 선별되어 들어온다. 책은 꼭 챙겨 보았으면 좋겠다.(연등하고 오면 잠 진짜 잘 온다.) 2. IT교육그리고 잘 찾아보면 군에서 하는 개발자 양성 교육이 꽤 많고 필자도 참여했었다. 강의 퀄리티도 나쁘지 않고, 다운로드하지 않고 코딩할 수 있는 사이트(구름 ide, repl.it) 같은 것을 활용하여 .. 2023. 3. 22.