본문 바로가기

Coding Test

(131)
[Java] 2단계. 녹색거탑 [24723번] https://www.acmicpc.net/problem/24723예제 입력11예제 출력12예제 입력22예제 출력24문제 접근입력 녹색 거탑의 높이 N (1 출력 녹색 거탑의 정상에서 바닥으로 내려오는 경우의 수 출력문제 해결바닥과 근접한 상자 1개당 2개의 경우의 수를 가짐따라서, 규칙을 보면 2^n만큼의 규칙을 보임기존 풀이 [메모리 : 14,016 KB / 시간 : 100 ms]public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); ..
[Java] 1단계. 베라의 패션 [15439번] https://www.acmicpc.net/problem/15439예제 입력11예제 출력10예제 입력22예제 출력22예제 입력35예제 출력320문제 접근입력 첫째 줄 : N (1 출력 상의와 하의가 다른 서로 다른 색상의 조합 가짓수 출력문제 해결N * N의 2차원 배열로 나타냄N = 3 이라고 했을 때 i == j가 동일하면 0, 동일하지 않으면 1배열의 총 합 = 서로 다른 색상의 조합 가짓수기존 풀이 [메모리 : 30,676 KB / 시간 : 156 ms]public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ..
[Java] 11단계. queuestack [24511번] https://www.acmicpc.net/problem/24511예제 입력140 1 1 01 2 3 432 4 7예제 출력14 1 2예제 입력251 1 1 1 11 2 3 4 531 3 5예제 출력21 3 5문제 접근입력 첫째 줄 : queuestack의 자료 구조 개수 N (1 둘째 줄 : 길이 N의 수열 A, 0 = Queue, 1 = Stack 셋째 줄 : 길이 N의 수열 B, Bi는 i번 자료구조에 들어가있는 원소 (1 넷째 줄 : 삽입할 수열의 길이 M (1 다섯째 줄 : 길이 M의 삽입할 원소 수열 C (1 출력 수열 C의 원소를 차례대로 queuestack에 삽입했을 때 리턴 값을 한 줄에 출력문제 해결문제를 해석하면 다음과 같음첫째 줄 : 총 4개의 자료구조둘째 줄 : Queue(0)  ..
[Java] 10단계. 풍선 터뜨리기 [2346번] https://www.acmicpc.net/problem/2346예제 입력153 2 1 -3 -1예제 출력11 4 5 3 2문제 접근규칙1 ~ N번까지의 풍선이 원형으로 놓임 각 풍선에는 종이가 들어있음 ( -N 처음에는 1번 풍선을 터트림 종이를 꺼내 그 종이에 적힌 값만큼 이동하여 풍선을 터뜨림 양수 = 오른쪽 / 음수 = 왼쪽 입력 첫째 줄 : 자연수 N(1 둘째 줄 : 차례대로 풍선 안의 종이 숫자가 주어짐 (단, 0은 주어지지 않음) 출력 터진 풍선의 번호를 차례대로 나열문제 해결1 ~ N까지 Deque에 추가 종이 숫자를 N+1의 배열을 만들어 인덱스 1 ~ N까지 둘째 줄 저장 덱의 첫 번째 값 StringBuilder에 추가 배열[터진 풍선 번호]의 값 X 확인Deque이 빌 때까지 반복양..
[Java] 9단계. 덱 2 [28279번] https://www.acmicpc.net/problem/28279예제 입력11161 31 87832 51 2544예제 출력11838353문제 접근덱 명령어 1 X : 덱의 앞에 X 추가 → addFirst()2 X : 덱의 뒤에 X 추가 → addList()3 : 덱의 앞에 정수를 제거하고 출력, 없으면 -1 → pollFirst()4 : 덱의 뒤에 정수를 제거하고 출력, 없으면 -1 → pollLast()5 : 덱의 정수 개수 출력 → size()6 : 덱이 비어있으면 1, 아니면 0 → isEmpty()7 : 덱에 정수가 있다면 출력, 없으면 -1 → peekFirst()8 : 덱의 정수가 없다면 출력, 없으면 -1 → peekLast()1 입력 첫째 줄 : 명령 N (1 ~ N번째 줄 : 명령 출..
[Java] 8단계. 요세푸스 문제 0 [11866번] https://www.acmicpc.net/problem/11866예제 입력17 3예제 출력1문제 접근1 ~ N명의 사람이 원으로 앉음 순서대로 K 번째 사람 제거 한 사람이 제거 되면 남은 사람들로 원을 만들어 반복Ex) (N, K) 요세푸스 순열 - (7, 3) 원 : 1, 2, 3, 4, 5, 6, 7 제거 : 1, 2, X, 4, 5, 6, 7 제거된 순서 : 3 제거 : 1, 2, X, 4, 5, X, 7 제거된 순서 : 3, 6 제거 : 1, X, X, 4, 5, X, 7 제거된 순서 : 3, 6, 2 제거 : 1, X, X, 4, 5, X, X 제거된 순서 : 3, 6, 2, 7 ... 제거된 순서 : 3, 6, 2, 7, 5, 1, 4입력 첫째 줄 : N과 K (1 출력 요세푸스 순열 출력..
[Java] 7단계. 카드 2 [2164번] https://www.acmicpc.net/problem/2164예제 입력16예제 출력14문제 접근1 ~ N까지의 카드가 순서대로 놓임 (가장 위 1, 가장 아래 N) 제일 위의 카드를 버림 제일 위의 카드를 맨 밑으로 옮김 Ex) N = 4 1234 → 234 → 342 → 42 → 24 → 4(출력) 입력 첫째 줄 : N (1 출력 남게되는 카드 번호 출력문제 해결Queue 1부터 N까지 삽입Queue의 size가 1이라면 종료, Queue의 size가 1이 아니라면 다음 로직 실행맨 위의 카드 버림 → poll()맨 위의 카드를 Queue에 다시 추가 → poll() & add()기존 풀이 [메모리 : 45,612 KB / 시간 : 160 ms]public static void main(String..
[Java] 6단계. 큐 2 [18258번] https://www.acmicpc.net/problem/18258예제 입력115push 1push 2frontbacksizeemptypoppoppopsizeemptypoppush 3emptyfront예제 출력1122012-101-103문제 접근큐 명령어push X : 정수 X를 Queue에 추가 → add(X) pop : Queue에 가장 앞의 정수를 빼고 그 수를 출력, 큐가 비어있다면 없다면 -1 → poll() size : 큐에 있는 정수 개수 출력 → size() empty : 큐가 비어있으면 1, 아니면 0 출력 → isEmpty() front : 큐의 가장 앞 정수 출력, 큐가 비어있다면 -1 출력 → peek() back : 큐의 가장 뒤 정수 출력, 큐가 비어있다면 -1 출력 → 메서드 ..