728x90
난이도 : 실버5
풀이일 : 07064
https://www.acmicpc.net/problem/2161
2161번: 카드1
N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가
www.acmicpc.net
링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐
풀이 코드
import java.util.LinkedList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int N = scan.nextInt();
scan.close();
LinkedList<Integer> queue = new LinkedList<>();
// 큐에 카드 넣기
for (int i = 1; i <= N; i++) {
queue.add(i);
}
// 문제 조건 따라 요소 출력
while (queue.size() > 1) {
System.out.print(queue.pollFirst() + " ");
queue.add(queue.pollFirst());
}
System.out.println(queue.pollFirst());
}
}
- LinkedList.add : 링크드 리스트에 해당 요소 추가
- LinkedList.size() : 링크드 리스트 길이 구하기
- LinkedList.pollFirst() : 링크드 리스트 맨 앞 요소 반환, 제거
느낀점
처음에는 while 조건으로 1 대신 0을 넣었더니 에러가 발생해서 수정하고 마지막에 출력을 따로 적었다.
오늘은 파이썬 문제 풀이를 실패해서 기쁘지 않지만, 자바를 실버 풀고 있는걸로 위로삼아야지
'알고리즘 > 🥈 실버' 카테고리의 다른 글
백준 9095 1, 2, 3, 더하기 자바 풀이 (0) | 2023.07.09 |
---|---|
백준 1021 회전하는 큐 자바 풀이 (0) | 2023.07.08 |
백준 2164 카드2 자바 풀이 (0) | 2023.07.06 |
백준 1158 요세푸스 문제 자바 풀이 (0) | 2023.07.03 |
백준 11047 동전 0 파이썬 풀이 (0) | 2023.05.02 |