문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 0. 문제 해석 등산로의 규칙을 잘 이해하고 DFS를 진행해야 한다. 가장 높은 봉우리에서 시작 대각선 이동 불가, 자기보다 낮은 지형으로만 이동 가능 한 지형 최대 K만큼 깎기 가능 여기서 문제에 언급되지 않은 정보가 있는데, 1번을 가장 먼저 해야한다. 만약 3번 규칙으로 하나의 산을 깎았는데 그게 최고점이라면 거기 또한 시작점이 되어야하는데 그 경우는 고려하지 않는 것 같다. 그리고 3번 규칙에서 "최대" K만큼 이라는 조건을 잘 봐야 한다. K만큼 깎는것이 아닌 0~K만큼 깎는 것이다. 그래서 문제를 풀기 위해 최고점을 찾아 그 최고점들에서 상하..
문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 0. 문제 해석 최대 몇개의 방을 이동 할수 있는지 체크하기 위하여 방마다 최대 몇 개 까지 이동할 수 있는지 델타방식으로 dfs를 통해 확인하여 최댓값을 탐색하고, 그 최댓값중에 가장 큰 값의 방 번호를 출력하면 된다. 1. 방 번호 입력하기 방 정보를 입력해주고 델타를 이용해 상하좌우 이동할 것이므로 편하게 사방 테두리를 0 처리해주었다. 2. DFS 모든 점에 대해 DFS를 진행해준다. 이동할 수 있는 점일 때 깊이를 체크하기 위한 count, 처음 시작점을 기록하기 위한 start를 사용한다. 점 마다 가장 많이 갈 수 있는 방 수를 startM..
문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 0. 문제 해석 2022.02.08 - [알고리즘, 자료구조/SWEA] - [SWEA] 1232. 사칙연산 (Java) [SWEA] 1232. 사칙연산 (Java) 문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 0. 문제 해석 2022.02.08 - [알고리즘, 자료구조/SWEA] - [SWEA] 1231. 중위순회 (Ja.. hanyeop.tistory.com 1232번 문제와 거의 동일한 알고리즘으로 풀 수 있는 문제이다. 자식이 둘 다 단말노..
문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 0. 문제 해석 2022.02.08 - [알고리즘, 자료구조/SWEA] - [SWEA] 1231. 중위순회 (Java) [SWEA] 1231. 중위순회 (Java) 문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 0. 문제 해석 이진트리를 생성하여 중위순회 하는 문제이다. 트리를 생성하는 hanyeop.tistory.com 위 문제와 동일하게 중위 순회를 하면 된다. 단, 출력하는 것이 아니고 연산하는 것이기 때문에 자식이 단말 노드일 때, 연산하여..
문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 0. 문제 해석 이진트리를 생성하여 중위순회 하는 문제이다. 트리를 생성하는 방법은 여러가지가 존재하는데 1. 배열로 구현하는 방법 2. 클래스로 연결 리스트로 구현하는 방법 등이 있다. 이 문제에선 각각 왼쪽 자식의 인덱스가 i * 2, 오른쪽 자식의 인덱스가 i * 2 + 1 인 순차적인 구조이므로 배열로 구현하는 것이 훨씬 간편하다. 하지만 이번엔 2번 방법을 사용하여 구현해보려고 한다. 1. 트리 클래스 메소드 구현 자신의 인덱스, 데이터와 양쪽 자식을 저장할 노드(정점) 클래스를 만들어준다. 이제 트리에 노드를 추가하는 add 메소드를 구현해주..
문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 0. 문제 해석 비상연락망을 인접 행렬 또는 인접 리스트로 표현해주고 시작점에서 BFS를 수행하면 된다. 단, 마지막에 동시에 연락을 받은 사람들의 최댓값을 구하기 위해 레벨(깊이) 별로 누구에게 연락했는지를 체크해야한다. 1. 연락망 입력 입력이 쌍으로 주어지므로 길이 / 2 만큼의 연락망을 인접 행렬로 입력해준다. 2. BFS 큐를 이용하여 처음 시작점을 넣어주고 방문처리 해준다. 레벨 별로 누구에게 연락했는지 체크해야하므로 BFS 작업을 할 때 시작기준 큐의 사이즈만큼 BFS를 반복할 때 마다 체크하도록 한다. 한번 반복할때마다 그 레벨에서의 최대..
문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 0. 문제 해석 델타 탐색으로 상하좌우를 탐색하고 길이 있다면 큐에 삽입하여 BFS를 진행하여 도착점에 도착했다면 1 리턴, 탐색이 종료될 때 까지 도착점을 못 찾았다면 0을 리턴하면 된다. 1. 미로 입력 미로를 인접 행렬로 표현해준다. 2. BFS x,y 좌표를 저장하기 위한 클래스를 하나 생성해준다. 별도로 생성하지 않고 2차원 배열을 사용해도 된다. 상하좌우를 탐색하기 위한 델타를 정의해주고 BFS를 수행한다. 3. 전체 코드 // [SWEA] 1226. 미로 (Java) import java.io.BufferedReader; import jav..
문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 0. 문제 해석 큐를 이용하여 사이클을 돌면서 맨 앞의 원소를 빼가면서 맨뒤로 보내는 작업을 반복하여 0보다 작아지는 경우까지 반복하면 된다. 사이클이 1~5 감소까지 존재하므로 나머지 연산을 사용한다. 1. 전체 코드 // [SWEA] 1225. 암호생성기 (Java) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.ut..
문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 0. 문제 해석 위상 정렬을 이용하는 문제이다. 위와 같은 그래프가 존재할 때, 1. 차수 (자신에게 들어오는 정점 수) 가 0인 정점을 제거하는 방법 2. DFS의 역순 탐색 방법 두가지 방법으로 위상정렬을 구현할 수 있다. 이 글에서는 2번으로 해결하였다. 역순으로 DFS를 구현하기 위해서는 위와 같이 그래프의 방향을 전부 반대로 한 후 아무곳에서나 dfs로 탐색하고, 역순(stack) 으로 출력하면 된다. 1. 그래프 생성 그래프를 생성할 때 입력받은 간선의 방향을 반대로 생성한다. 2. DFS 이제 깊이우선 탐색으로 방문하지 않은 정점들을 탐색해..
문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 0. 문제 해석 번호를 하나씩 스택의 top과 비교하여 스택의 top이 넣을 숫자와 같다면 pop하고 넣지 않고, 다르다면 넣는 방식으로 모든 번호를 처리하면 된다. 1. 전체 코드 // [SWEA] 1234. 비밀번호 (Java) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; import java.util.StringTokenizer; public class Solution { public ..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.