JAVA - 백준 [BAEK JOON]/큐, 덱
[백준] 5430번 : AC - JAVA [자바]
[백준] 5430번 : AC - JAVA [자바]
2021.03.07www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 문제 덱의 원리만 이해한다면 매우 쉽게 풀 수 있는 문제다. 알고리즘 [접근 방법] 이 문제는 그렇게 어려운 문제는 아니다. 이 번 문제는 덱(Deque) 자료구조를 이용하여 푸는 문제이므로 가능하다면 아래 덱(Deque) 자료구조에 대해 어떻게 구현되고 원리는 무엇인지 이해하고 오시면 좋을 것 같다. 배열 덱 자바 [JAVA] - 배열을 이용한 Deque (덱) 구현하기 •자료구조 관련 목록 링크 펼치기 더보기 0. 자바 컬렉션 프레임워크 (Java Collecti..
[백준] 1021번 : 회전하는 큐 - JAVA [자바]
[백준] 1021번 : 회전하는 큐 - JAVA [자바]
2021.02.27www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net 문제 알고리즘 [접근 방법] 이 문제는 덱(Deque)에 대한 이해만 있다면 크게 어렵지 않다. 혹여 덱(Deque)에 대해 자세하게 알고싶다면 다음 글을 참고하면 도움이 될 것이다. st-lab.tistory.com/185 자바 [JAVA] - 배열을 이용한 Deque (덱) 구현하기 •자료구조 관련 목록 링크 펼치기 더보기 0. 자바 컬렉션 프레임워크 (Java Collections Framework) ..
[백준] 10866번 : 덱 - JAVA [자바]
[백준] 10866번 : 덱 - JAVA [자바]
2021.02.19www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 문제 자료구조 덱을 이해하고 있는지를 확인하는 문제다. 기존의 덱 자료구조 원리를 이해하고 있다면 매우 쉽게 풀 수 있다. 알고리즘 [접근 방법] 이러한 문제는 자료구조 구현 문제로 이미 덱(Deque)에 대해 알고 있다면 크게 어렵지 않은 문제다. 일단, 덱(Deque)은 무엇인지 한 번 알아보자. 앞서 우리는 Queue(큐)를 다뤘었다. 큐는 '단방향'이면서 '선입선출(先入先出)' 즉, 먼저..
[백준] 1966번 : 프린터 큐 - JAVA [자바]
[백준] 1966번 : 프린터 큐 - JAVA [자바]
2021.02.03www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 문제 알고리즘 [접근 방법] 이 번 문제는 위에서 말한 내용을 그대로 큐로 구현만해주면 되는 문제라 그리 어렵지 않게 풀 수 있을 것이다. 문제를 이해해보자면 이렇다. 큐에 프린트 할 문서들이 배치되어있을 때, '중요도'가 높은 것 부터 뽑아야한다는 것이다. 즉, 맨 앞의 문서보다 중요도가 높은 문서가 있을 경우 맨 앞의 문서를 맨 뒤로 보내고, 이를 반복하면서 가장 중요도가 높은 문서가 맨 앞에 배치되도록 해야한..
[백준] 11866번 : 요세푸스 문제 0 - JAVA [자바]
[백준] 11866번 : 요세푸스 문제 0 - JAVA [자바]
2021.01.23www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 문제 알고리즘 [접근 방법] 큐를 이용한 매우 쉬운 문제다. 예제를 이해해보자면 이렇다. 1부터 N까지 나열 된 수에서 K번째 수 마다 차례대로 뽑아 낸 수열을 출력하는 것이다. 예제를 예로 들어보자. seq {1, 2, 3, 4, 5, 6, 7}, result {} round 1 : seq {1, 2, 3, 4, 5, 6, 7}, result {3} round 2 : seq {1, 2, 4, 5, 6, 7}, result {3, 6} round 3 : seq {1, 2, 4, 5, 7}, re..
[백준] 2164번 : 카드2 - JAVA [자바]
[백준] 2164번 : 카드2 - JAVA [자바]
2020.12.19www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 문제 큐에 대한 원리만 알고 있어도 쉽게 풀 수 있는 문제다. 알고리즘 [접근 방법] 이 번 문제같은 경우 자료구조를 한 번쯤 접해봤거나 큐에 대한 개념이 있다면 쉽게 풀 수 있는 문제다. 잠깐 큐에 대해 설명하자면 큐 자료구조의 경우 '선입선출' 자료구조로 말 그대로 먼저 들어간 요소가 먼저 나오는 방식이다. 쉽게 생각해서 놀이기구를 타기위해 줄서있는 모습을 생각하면 된다. 큐에 대한 자세한 내용과 구현은 아..
[백준] 18258번 : 큐 2 - JAVA [자바]
[백준] 18258번 : 큐 2 - JAVA [자바]
2020.12.13www.acmicpc.net/problem/18258 18258번: 큐 2 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 문제 큐에 대한 원리만 알고 있어도 쉽게 풀 수 있는 문제다. 알고리즘 [접근 방법] 단계별로 풀어보기 큐와 덱 카테고리 첫 문제다. 이 번 문제같은 경우 자료구조를 한 번쯤 접해봤거나 큐에 대한 개념이 있다면 쉽게 풀 수 있는 문제다. 잠깐 큐에 대해 설명하자면 큐 자료구조의 경우 '선입선출' 자료구조로 말 그대로 먼저 들어간 요소가 먼저 나오는 방식이다. 쉽게 생각해서 놀이기구를 타..