Algorithm/JUNGOL
JUNGOL 1169 : 주사위 던지기1 (Java)(조합)(순열)
문제출처: jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=449&sca=2080 소스코드 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader; public class 주사위던지기1_1..
JUNGOL 1141 : 불쾌한 날(Bad Hair Day) (Java)(Stack)
문제출처: jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=421&sca=3020 풀이과정 - Stack - 현재 데이터를 받은 소의 키를 nowHeight변수로 받고 바로 이전 순서의 소들의 키와 비교했을 때, nowHeight가 크거나 같으면 해당 순서의 소들은 이후로 안보일테니 pop으로 스택에서 제거해버린다. - 여기서 순서는 Stack의 후입선출법이므로 바로 이전 소부터 시작해서 한마리씩 이전으로 들어가 검사한다. 소스코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; public class 불쾌한..
JUNGOL 1459 : 숫자고르기(Java) (dfs)
문제 출처: jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=731&sca=2080 문제 조건 예) 크기가 7인 배열이 1 2 3 4 5 6 7 3 1 1 5 5 4 6 으로 값이 들어있다면, 인덱스 집합과 값 집합이 가장 크게 일치하려면 1, 3, 5를 뽑으면 된다. 가장 큰 크기는 3이다. 1 2 3 4 5 6 7 3 1 5 5 6 5 6 인 경우에는 1, 3, 5, 6이 되겠다. 크기는 4이다. 풀이 방법 - 배열의 인덱스와 값을 node로 생각하여 연결고리가 있는 그래프인지 확인하면된다. - 확인을 위해서는 dfs를 통해 노드를 계속 타고 들어가서 결국 처음시작한 노드와 끝나는 노드가 일치하는지 확인하면 된다. - set은 이미 완성된 그래프의 노드(요소)인지..