[알고스팟 소풍 URL] 완전 탐색 문제입니다. 1. 아직 짝을 이루지 못한 기준 학생을 찾는다. 학생을 찾을 때에는 맨 앞쪽의 학생부터 찾는다. - (0, 1) 학생과 (1, 0) 학생이 짝을 이루는 경우는 같은 상황이기 때문에, 중복을 피해야 한다. 2. 짝을 이루지 못한 기준이 되는 학생을 찾았으면, 그 학생과 짝을 이룰 다른 학생을 찾는다.3. 두 명의 학생이 짝을 이뤘으면, count(짝을 이룬 학생 수)를 2 증가시켜 다시 DFS 탐색을 시작한다. [소스코드] 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667import ..
[SWEA 2112. [모의 SW 역량테스트] 보호 필름 URL]1. 총 3가지의 경우를 생각할 수 있다.1) 현재 행을 그대로 두는 경우2) 현재 행에 A약을 투입하는 경우3) 현재 행에 B약을 투입하는 경우 2. 위의 세 가지 경우를 생각하며 DFS 탐색을 진행한다.DFS 매개변수로는, 이전 필름의 상태(prev), 시약을 투입한 횟수(numOfInject), 필름의 두께(depth)이다.현재 행을 그대로 두는 경우에는 numOfInject의 수는 변함이 없고, 현재 행에 약을 투입하는 경우에만 1을 증가시켜 DFS탐색을 진행한다. 현재 행(depth)에 시약을 투입할 경우 필름의 상태를 변경한 뒤, DFS의 매개변수로넘겨준다. 3. 성능검사 통과isPossible() 메소드를 참고하기 바란다. [소..
[SWEA 1949. [모의 SW 역량테스트] 등산로 조성 URL]https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PoOKKAPIDFAUq&categoryId=AV5PoOKKAPIDFAUq&categoryType=CODE 1. 최대값을 찾는다.2. 최대값부터 DFS 탐색을 시작한다.3. DFS는 등산로의 길이와 공사 여부를 매개변수로 받는다.4. DFS 탐색시, 현재 위치와 다음 위치의 높이를 비교한다. - 현재 위치가 다음 위치보다 높다면, 다시 DFS 메소드를 호출한다. 여기서 주의할점은 다음 탐색시, 공사여부는 현재 공사여부의 값을 매개변수로 받는다. (현재 공사여부 = 다음 공사여부) - 현재 위..
[SWEA 1953. [모의 SW 역량테스트] 탈주범 검거 URL]https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpLlKAQ4DFAUq&categoryId=AV5PpLlKAQ4DFAUq&categoryType=CODE 이번 문제는 쉬운 BFS문제이지만, 현재 칸에서 다음 칸으로 넘어갈 수 있는지에 대한 조건이 많다.아래 그림을 보자.현재 방문한 파이프가 1번이라고 가정해보자. 그럼 1번 파이프에서 방향에 따라 다음 파이프로 이동할 수 있는지, 없는지가 결정된다. 현재 파이프가 1번이고 이동 방향이 동쪽이라고 할 때, 1번 파이프에서 이동할 수 있는 다음파이프는 1번, 3번, 6번, 7번 파이프가 된다..
[4012. [모의 SW 역량테스트] 요리사 URL]https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWIeUtVakTMDFAVH&categoryId=AWIeUtVakTMDFAVH&categoryType=CODE 백준의 스타트와 링크 문제와 100% 같은 문제이다.2019/03/09 - [알고리즘 문제/백준(BOJ)] - [백준 14889번] 스타트와 링크 (JAVA) [소스 코드]123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869..
[4008. [모의 SW 역량테스트] 숫자 만들기 URL]https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWIeRZV6kBUDFAVH&categoryId=AWIeRZV6kBUDFAVH&categoryType=CODE 이 문제는 백준의 연산자 끼워넣기 문제와 100% 같다.2019/03/12 - [알고리즘 문제/백준(BOJ)] - [백준 14888번] 연산자 끼워넣기 (JAVA) 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697..
[백준 13460번 구슬탈출2 URL]개인적으로, 시뮬레이션 문제 중에서 제일 어려웠던 문제.....방문 여부를 파악하기 위해 4차원 배열을 만들어야 했던 것도 생각하기 참 힘들었다. 시뮬레이션 과정은 다음과 같다.1. 구슬을 굴린다. - 구슬을 굴릴 때, 두 개의 구슬이 겹치든 말든 일단 굴린다. 2. 구슬을 굴리는 도중 - 만약, 구슬을 굴리는 도중 'O'을 만났다면, 멈춘다. 3. 구슬을 다 굴린 후 - 파란색 구슬이 'O'에 빠졌는지 "먼저" 확인한다. 파란색 구슬이 'O'에 빠졌다면 탐색을 종료한다. - 파란색 구슬은 'O'에 빠지지 않고, 빨간색 구슬이 'O' 빠졌다면 정답을 출력한다. - 어느 구슬도 'O'에 빠지지 않았다면, 두 구슬의 위치가 같은지 확인한다. - 두 구슬의 위치가 같다면,..
[백준 14888번 연산자 끼워넣기 URL] 모든 경우의 수를 모두 탐색하는 문제입니다.DFS 탐색을 사용하였습니다. [소스코드]123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Collection;import java.util.Collections;import java..
- Total
- Today
- Yesterday
- 배열
- 중간값
- 시뮬레이션
- 연산자 끼워넣기
- 리스트
- 나무 재테크
- 구현
- 알고리즘
- 삼성
- 14888
- 힙
- 최대힙
- DFS
- 백준
- 트리
- 영역 구하기
- BFS
- 알고스팟
- SWEA
- 탈주범 검거
- 힙정렬
- 최소힙
- 브루트포스
- 정렬
- 큐
- 우선순위 큐
- 구슬 탈출2
- 탐색
- 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |