일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- algorithm
- 코틀린
- baekjoon
- 모던자바
- 백트래킹
- lambda
- kotlin
- 자바
- 프로젝트
- DFS
- 백준
- programmers
- Spring
- BFS
- Java8
- 그래프
- 운영체제
- 프로그래머스
- backtracking
- 네트워크
- DP
- back-end
- OS
- 자료구조
- java
- 스프링
- TDD
- LEVEL2
- 알고리즘
- Brute-force
- Today
- Total
목록queue (3)
요깨비's LAB
import java.util.* fun main() { val scr = Scanner(System.`in`) val N = scr.nextInt() val K = scr.nextInt() val queue = LinkedList() for (i in 1..N) { queue.add(i) } var queueSize = queue.size var count = 1 var result = "" print(result) }
import java.io.BufferedReader import java.io.InputStreamReader import java.util.* fun main() { val br = BufferedReader(InputStreamReader(System.`in`)) val N = br.readLine().toInt() val queue = LinkedList() val sb = StringBuffer() for (i in 0 until N) { val command = br.readLine().split(" ") when { command[0] == "push" -> { queue.add(command[1].toInt()) } command[0] == "pop" -> { if (queue.isEmpt..
1. 아이디어 원형 큐가 떠올라 자바의 LinkedList를 기본적으로 이용하기로 하였습니다. 그다음 값을 꺼낼때 인덱스는 항상 0(큐 이므로)으로 0을 기준으로 왼쪽으로 탐색하여 해당 값을 발견했을때의 count와 오른쪽으로 탐색하여 해당 값을 발견했을때의 count를 비교하여 작은 쪽으로 연산을 진행하여 (1번 혹은 2번) 연산을 수행한다음 값을 꺼내는 방식으로 구현하였습니다. 단, 0이 찾는 값이 바로 있으면 count는 0!! 그리고 왼쪽 방향으로 값을 찾는 연산은 리스트의 마지막 인덱스 ~ 1 까지 연산을 수행하지만 우선적으로 0번째에서 값을 확인하기 때문에 0번째에 값이 없다면 왼쪽 연산과 달리 count=1로 초기화 해주어야 합니다. 아래는 코드입니다. import java.util.Link..