01-09 18:44
Recent Posts
Recent Comments
Tags
- DB
- ์ด๋ธ์
- appetizer
- ict๊ณต๋ชจ์
- API MarketPlace ๊ธ๋ก๋ฒ ์ํฌํฐ์ฆ
- ์กํ๊ณ
- ICT
- python
- linux
- ์๋์ด๋ ธ
- ํ์ด์
- mysql
- SQL
- ICT๋ฉํ ๋ง
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- API๋ง์ผํ๋ ์ด์ค
- TSQL
- ์คํฝ์ค๋น
- ์จ์ผ๋ํ
- Java
- ์คํฝ๋ ํ
- ํ๋ก๋ณด๋ ธ
- Naver Cloud
- ํ์ด์ฌ
- DATABASE
- JOBํ๊ณ
- ์๋ฐ
- RaspberryPi
- ํ์ด์๊ณต๋ชจ์
- Spring
- Today
- Total
miinsun
[BAEKJOON] ๋ฐฑ์ค ํ 1966 :: ํ๋ฆฐํฐ ํ ๋ณธ๋ฌธ
๐ฌ ๋ฌธ์ ์ค๋ช
์ฌ๋ฌ๋ถ๋ ์๋ค์ํผ ์ฌ๋ฌ๋ถ์ ํ๋ฆฐํฐ ๊ธฐ๊ธฐ๋ ์ฌ๋ฌ๋ถ์ด ์ธ์ํ๊ณ ์ ํ๋ ๋ฌธ์๋ฅผ ์ธ์ ๋ช ๋ น์ ๋ฐ์ ‘์์๋๋ก’, ์ฆ ๋จผ์ ์์ฒญ๋ ๊ฒ์ ๋จผ์ ์ธ์ํ๋ค. ์ฌ๋ฌ ๊ฐ์ ๋ฌธ์๊ฐ ์์ธ๋ค๋ฉด Queue ์๋ฃ๊ตฌ์กฐ์ ์์ฌ์ FIFO - First In First Out - ์ ๋ฐ๋ผ ์ธ์๊ฐ ๋๊ฒ ๋๋ค.
ํ์ง๋ง ์๊ทผ์ด๋ ์๋ก์ด ํ๋ฆฐํฐ๊ธฐ ๋ด๋ถ ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ์๋๋ฐ, ์ด ํ๋ฆฐํฐ๊ธฐ๋ ๋ค์๊ณผ ๊ฐ์ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ธ์๋ฅผ ํ๊ฒ ๋๋ค.
1. ํ์ฌ Queue์ ๊ฐ์ฅ ์์ ์๋ ๋ฌธ์์ ‘์ค์๋’๋ฅผ ํ์ธํ๋ค.
2. ๋๋จธ์ง ๋ฌธ์๋ค ์ค ํ์ฌ ๋ฌธ์๋ณด๋ค ์ค์๋๊ฐ ๋์ ๋ฌธ์๊ฐ ํ๋๋ผ๋ ์๋ค๋ฉด, ์ด ๋ฌธ์๋ฅผ ์ธ์ํ์ง ์๊ณ Queue์ ๊ฐ์ฅ ๋ค์ ์ฌ๋ฐฐ์น ํ๋ค. ๊ทธ๋ ์ง ์๋ค๋ฉด ๋ฐ๋ก ์ธ์๋ฅผ ํ๋ค.
์๋ฅผ ๋ค์ด Queue์ 4๊ฐ์ ๋ฌธ์(A B C D)๊ฐ ์๊ณ , ์ค์๋๊ฐ 2 1 4 3 ๋ผ๋ฉด C๋ฅผ ์ธ์ํ๊ณ , ๋ค์์ผ๋ก D๋ฅผ ์ธ์ํ๊ณ A, B๋ฅผ ์ธ์ํ๊ฒ ๋๋ค.
์ฌ๋ฌ๋ถ์ด ํ ์ผ์, ํ์ฌ Queue์ ์๋ ๋ฌธ์์ ์์ ์ค์๋๊ฐ ์ฃผ์ด์ก์ ๋, ์ด๋ค ํ ๋ฌธ์๊ฐ ๋ช ๋ฒ์งธ๋ก ์ธ์๋๋์ง ์์๋ด๋ ๊ฒ์ด๋ค. ์๋ฅผ ๋ค์ด ์์ ์์์ C๋ฌธ์๋ 1๋ฒ์งธ๋ก, A๋ฌธ์๋ 3๋ฒ์งธ๋ก ์ธ์๋๊ฒ ๋๋ค.
๐จ ์ ์ถ๋ ฅ ์
์ ๋ ฅ
- ์ฒซ ์ค์ ํ ์คํธ์ผ์ด์ค์ ์๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ์ผ์ด์ค๋ ๋ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
- ํ ์คํธ์ผ์ด์ค์ ์ฒซ ๋ฒ์งธ ์ค์๋ ๋ฌธ์์ ๊ฐ์ N(1 ≤ N ≤ 100)๊ณผ, ๋ช ๋ฒ์งธ๋ก ์ธ์๋์๋์ง ๊ถ๊ธํ ๋ฌธ์๊ฐ ํ์ฌ Queue์์ ๋ช ๋ฒ์งธ์ ๋์ฌ ์๋์ง๋ฅผ ๋ํ๋ด๋ ์ ์ M(0 ≤ M < N)์ด ์ฃผ์ด์ง๋ค.
- ์ด๋ ๋งจ ์ผ์ชฝ์ 0๋ฒ์งธ๋ผ๊ณ ํ์.
- ๋ ๋ฒ์งธ ์ค์๋ N๊ฐ ๋ฌธ์์ ์ค์๋๊ฐ ์ฐจ๋ก๋๋ก ์ฃผ์ด์ง๋ค.
- ์ค์๋๋ 1 ์ด์ 9 ์ดํ์ ์ ์์ด๊ณ , ์ค์๋๊ฐ ๊ฐ์ ๋ฌธ์๊ฐ ์ฌ๋ฌ ๊ฐ ์์ ์๋ ์๋ค.
์ถ๋ ฅ
- ๊ฐ ํ ์คํธ ์ผ์ด์ค์ ๋ํด ๋ฌธ์๊ฐ ๋ช ๋ฒ์งธ๋ก ์ธ์๋๋์ง ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1)
3
1 0
5
4 2
1 2 3 4
6 0
1 1 9 1 1 1
์์ ์ถ๋ ฅ 1)
1
2
5
โ
๐ป Main.java
- queue๋ฅผ ์ด์ฉํด ๋ฌธ์ ๋ฅผ ํ์๋ค
- Paper ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด ์ค์๋์ ํ์ ๋ค์ด๊ฐ index๋ฅผ ๊ธฐ์ตํ๋๋กํ๋ค
/* ๋ฐฑ์ค ์๋ฃ๊ตฌ์กฐ - 1966 :: ํ๋ฆฐํฐ ํ */
import java.util.*;
import java.io.*;
class Paper {
int order;
int index;
Paper(int order, int index){
this.order = order;
this.index = index;
}
}
public class Main {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt(); // ํ
์คํธ ์ผ์ด์ค์ ๊ฐ์
for(int i = 0; i < T; i++) {
int N = sc.nextInt(); // ๋ฌธ์์ ๊ฐ์
int M = sc.nextInt(); // ๊ถ๊ธํ ๋ฌธ์ ํ์ ์ธ๋ฑ์ค
Queue<Paper> q = new LinkedList<>();
for(int j = 0; j < N; j++) {
q.add(new Paper(sc.nextInt(), j));
}
int order = 1;
while(!q.isEmpty()) {
Paper tmp = q.poll();
boolean skip = false;
// ํ ์์ ์ค์ ๋๊ฐ ๋ ํฐ paper๊ฐ ์๋์ง ๊ฒ์ฌ
for(Paper x : q) {
if(x.order > tmp.order) {
skip = true;
break;
}
}
if(skip) { // ์ค์๋๊ฐ ๋ ํฐ Paper๊ฐ ์์ผ๋ฉด
q.add(tmp); // ๊ฐ์ฅ ๋์ ๋ค์ ์ถ๊ฐ
}
else { // ๊ฐ์ฅ ์ค์ ๋๊ฐ ๋์ผ๋ฉด
if(M == tmp.index) { // ์ฐพ๊ณ ์ํ ๋ฌธ์๋ฅผ ์ฐพ์ผ๋ฉด ์ถ๋ ฅ ํ ์ข
๋ฃ
System.out.println(order);
break;
}
order++;
}
}
}
sc.close();
}
}
'Algorithm > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BAEKJOON] ๋ฐฑ์ค ์ด๋ถํ์ 1920 :: ์ ์ฐพ๊ธฐ (0) | 2022.04.20 |
---|---|
[BAEKJOON] ๋ฐฑ์ค ์คํ 1874 :: ์คํ ์์ด (0) | 2022.04.18 |
[BAEKJOON] ๋ฐฑ์ค ์คํ 4949 :: ๊ท ํ์กํ ์ธ์ (0) | 2022.04.15 |
[BAEKJOON] ๋ฐฑ์ค ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ 13305 :: ์ฃผ์ ์ (0) | 2022.04.15 |
[BAEKJOON] ๋ฐฑ์ค ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ 1541 :: ์์ด๋ฒ๋ฆฐ ๊ดํธ (0) | 2022.04.14 |
Comments