본문 바로가기

2

[코딩테스트/백준 알고리즘] 2164번 : 카드2 (Java, 자바 풀이) 문제 https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 문제 설명 문제 풀이 큐를 이용하여 구현하였다. 코드 import java.util.*; class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int last = 1; Queue q = new LinkedList(); for(int i = 1; i 2022. 8. 3.
[코딩 테스트/ 백준 알고리즘] 1158번 : 요세푸스 문제 (Java 풀이) 문제 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 해설 N = 7, K = 3인 케이스일 때 위와 같은 원탁이 만들어진다. 1번을 기준으로 세번째 자리에 앉은 3번 사람을 삭제한다. 기준을 3번의 왼쪽에 앉은 4번으로 바꿔서 세번째 자리에 앉은 6번 사람을 삭제한다. 이후 이 방식으로 테이블에 앉은 모든 사람을 삭제한다. 삭제된 사람을 순서대로 출력하면 이 된다. 풀이 이 문제는 큐를 활용하면 쉽게 해결할 수 있다. 우선 큐에 N까지의 숫자를 차례대로 넣어준다. 3번을 삭제하기 위해선 앞에 있는 1과 2가 나와줘야한다. 문제에 "한.. 2022. 7. 21.