본문 바로가기

Coding Test

(134)
[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 출력 → 메서드 ..
[Java] 5단계. 도키도키 간식드리미 [12789번] https://www.acmicpc.net/problem/12789예제 입력155 4 1 3 2예제 출력1Nice문제 접근번호표 순서대로만 간식을 받을 수 있음 → Nice 출력 즉, 번호 순서대로가 아니면 간식을 받지 못함 → Sad 출력 입력 첫째 줄 : 학생들의 수 N (1 둘째 줄 : 모든 학생들의 번호표 (1, 2, ..., N) 출력무사히 간식을 받을 수 있으면 Nice, 그렇지 않으면 Sad 출력문제 해결번호표(numberSequence)는 1번부터 시작, N번만큼 반복번호표와 숫자가 같으면 번호표 +1, 아니면 Stack Pushwhile문 조건 : Stack이 비어있지 않고, peek()이 번호표와 같으면 번호표 + 1, Stack Pop최종적으로 Stack이 비어있으면 Nice, 아니면..
[Java] 4단계. 균형잡힌 세상 [4949번] https://www.acmicpc.net/problem/4949예제 입력1So when I die (the [first] I will see in (heaven) is a score list).[ first in ] ( first out ).Half Moon tonight (At least it is better than no Moon at all].A rope may form )( a trail in a maze.Help( I[m being held prisoner in a fortune cookie factory)].([ (([( [ ] ) ( ) (( ))] )) ]). ..예제 출력1yesyesnononoyesyes문제 접근문자열에 포함되는 괄호는 소괄호와 대괄호 2종류 문자열이 균형을 이루는 ..
[Java] 3단계. 괄호 [9012번] https://www.acmicpc.net/problem/9012예제 입력16(())())(((()())()(()())((()))((()()(()))(((())))()()()()()(()()())()(()((())()(예제 출력1NONOYESNOYESNO예제 입력23(())())(()예제 출력2NONONO문제 접근괄호가 쌍이 맞으면 VPS(Valid PS) 괄호 쌍이 아니면 VPS가 아님 입력 첫째 줄 : T개의 케이스가 주어짐 ~ T번째 줄 : 괄호 문자열 (2 출력 VPS면 YES, VPS가 아니면 NO를 한 줄에 하나씩 출력문제 해결전형적인 스택 문제입력받은 문자열을 모두 Stack에 추가새로운 Stack 준비기존 Stack이 isEmpty()가 될 때까지 반복기존 Stack에서 pop을 한 괄호가..
[Java] 2단계. 제로 [10773번] https://www.acmicpc.net/problem/10773예제 입력143040예제 출력10예제 입력2101354007006예제 출력27문제 접근입력 첫째 줄 : 정수 K (1 ~ K번째 줄 : 정수 1개 (0 정수가 0일 경우 가장 최근에 쓴 수를 지우고, 아닐 경우 해당 수를 씀 정수가 0일 경우에 지울 수 있는 수는 반드시 존재출력 재민이가 최종적으로 적어 낸 수의 합을 출력 (최종 합 문제 해결전형적인 Stack 문제0 이외의 숫자가 들어오면 Stack에 Push0이 들어올 경우 Pop최종적으로 Stack에 있는 모든 수의 합최종적으로 적은 합은 2^31-1 이므로 정확히 int 범위 이내기존 풀이 [메모리 : 23,480 KB / 시간 : 212 ms]public static void m..
[Java] 1단계. 스택 2 [28278번] https://www.acmicpc.net/problem/28278예제 입력1941 31 5325225예제 출력112533-1-1문제 접근정수를 저장하는 스택을 구현 총 5가지의 명령 1 X : 정수 X를 스택에 추가 (1 Push 2 : 스택에 정수가 있다면 맨 위의 정수를 출력, 없다면 -1 출력 → Pop 3 : 스택에 들어있는 정수의 개수 출력 → Size 4 : 스택이 비어있으면 1, 아니면 0 출력 → isEmpty() 5 : 스택에 정수가 있다면 맨 위의 정수를 출력, 없다면 -1 출력 → Peek 입력 첫째 줄 : 명령의 수 N (1 ~ N번째 줄 : 명령 출력을 요구하는 명령(2, 5)은 하나 이상 주어짐 출력 출력을 요구하는 명령이 주어질 때마다, 명령의 결과를 한 줄에 하나씩 출력문제..