본문 바로가기

싸피32

1247번 - 최적 경로 1. 문제 1-1. 링크 1-2. 문제 해석 2. 코드 3. 실행시간 4. 우리 반 1등 코드와의 차이 5. 싸피 1등 코드와의 차이 1. 문제 1-1. 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1-2. 문제 해석 최단 경로로 모든 노드를 방문했을 때 그 경로의 길이를 구하는 문제이다. 단, 문제에 몇 가지 주목할 만한 조건이 붙는다. 방문해야 하는 고객(노드)의 수가 최대 10명이다. N이 10 이하인 경우는 완전 탐색으로 풀 수 있지만 그 이상은 DP를 적용해야 한다. 즉, 이 문제에는 완전탐색으로 풀이가 가능하다는 것이다. 이 문제는 가장 짧은 경로를 '효율적으로' 찾는 것이 목적이 아니다. .. 2021. 8. 31.
1231번 - 중위순회 1. 문제 1-1. 링크 1-2. 문제 해석 2. 코드 3. 실행시간 1. 문제 1-1. 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1-2. 문제 해석 중위 순회에 대해 이해하고 있다면 쉽게 풀 수 있는 문제이다. 이 포스팅에서 중위순회에 대한 설명을 해두었다. 문제에서 정점의 번호가 차례대로 주어진다고 했지 트리 구조가 완전 이진트리라고 언급은 하지 않아서 괜히 어렵게 생각했었는데 그냥 완전 이진트리 구조라고 생각하고 풀면 된다. 2. 코드 public class Day7_1231_중위순회 { static char[] arr; static int size; static StringBuilder sb.. 2021. 8. 17.
1238번 - Contact 1. 문제 1-1. 링크 1-2. 문제 해석 2. 코드 3. 실행시간 4. 우리 반 1등 코드와의 차이 1. 문제 1-1. 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1-2. 문제 해석 BFS 탐색을 하는 문제이다. 시작점에서 가장 마지막으로 연락받으면서 + 숫자가 가장 큰 값을 리턴하면 된다. 문제에서 주어진 입력을 읽어보면 {from, to} 쌍이 여러 번 반복돼서 들어오는 경우도 있다고 한다. 처음에는 입력받을 때 중복제거하는 로직을 사용했었는데 visited 기록한다면 중복제거를 따로 처리해주지 않아도 된다. 또, 문제의 예제처럼 7 -> 1과 1 -> 7이 입력되는 경우 또한 visited가.. 2021. 8. 15.
1226번 - 미로1 1. 문제 1-1. 링크 1-2. 문제 해석 2. 코드 3. 실행시간 1. 문제 1-1. 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1-2. 문제 해석 DFS/BFS 알고리즘의 아주 기본적인 문제이다. 카테고리가 큐라서 큐를 이용해서 한 번 DFS/BFS를 구현해보세요! 라는 의미인 듯 하다. 나는 큐를 안썼지만 (...) 나중에 따로 DFS/BFS에 대한 포스팅을 할거라 자세한 설명은 추후에 링크 첨부할 예정! 2. 코드 public class Day6_1226_미로1 { // 상하좌우 static int[] dx = { 0, 0, -1, 1 }; static int[] dy = { -1, 1, 0.. 2021. 8. 10.
1267번 - 작업순서 1. 문제 1-1. 링크 1-2. 문제 해석 2. 코드 3. 실행시간 1. 문제 1-1. 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1-2. 문제 해석 방향을 역순으로 돌려서 DFS를 하는 방법 들어오는 경로가 존재하지 않는 정점을 하나씩 지워나가는 방법 이 문제는 위 두 가지 방법으로 풀 수 있다. 두 방법 다 사용해봤는데 개인적으로 첫 번째 방법이 코드가 깔끔하고 구현하기 쉬워서 첫 번째 방법에 대해 설명하려고 한다. 문제에서 예시로 주어진 작업 순서는 위와 같다. DFS를 활용한 방법을 사용하기 위해서는 방향을 역순으로 돌려야 한다. 바로 이렇게 말이다! 그러고 나서 DFS를 하면 된다. 만약 .. 2021. 8. 9.