10845๋ฒ: ํ
์ฒซ์งธ ์ค์ ์ฃผ์ด์ง๋ ๋ช ๋ น์ ์ N (1 ≤ N ≤ 10,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ๋ช ๋ น์ด ํ๋์ฉ ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ์ ์๋ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค. ๋ฌธ์ ์ ๋์์์ง
www.acmicpc.net
๋ฌธ์
ํ์ด
[Java]์ปฌ๋ ์ ํ๋ ์์ (3) - Stack & Queue
์คํ๊ณผ ํ (Stack & Queue) โถ ์คํ(Stack) : LIFO๊ตฌ์กฐ. ๋ง์ง๋ง์ ์ ์ฅ๋ ๊ฒ์ ์ ์ผ ๋จผ์ ๊บผ๋ด๊ฒ ๋๋ค. ์คํ์ ๋ฐ์ด ๋งํ ์์์ด๋ค. ์์์ 0, 1, 2๋ฅผ ์์๋๋ก ๋ฃ๊ฒ ๋๋ฉด ๊บผ๋ผ ๋๋ ๋ง์ง๋ง์ ๋ฃ์๋ 2, 1, 0
pids.tistory.com
ํ์ ๊ตฌ์กฐ์ ์๋ฆฌ๋ฅผ ํ์ ํ๋ค๋ฉด ์ฝ๊ฒ ํด๊ฒฐ์ด ๊ฐ๋ฅํ ๋ฌธ์ ์ด๋ค.
ํ๋ฅผ ์ฌ์ฉํ์ฌ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ๊ณผ, ํ๋ฅผ ์ง์ ๊ตฌํํ์ฌ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ด ์๋ค.
์์ค ์ฝ๋
๋ฐฉ๋ฒ 1 : ํ๋ฅผ ์ฌ์ฉ
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.Queue;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
Queue<Integer> q = new LinkedList<>();
int N = Integer.parseInt(br.readLine());
int last = 0;
for (int i = 0; i < N; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
String str = st.nextToken();
switch (str) {
case "push" :
last = Integer.parseInt(st.nextToken());
q.offer(last);
break;
case "pop" :
if (q.isEmpty()) sb.append(-1).append("\n");
else sb.append(q.poll()).append("\n");
break;
case "size" :
sb.append(q.size()).append("\n");
break;
case "empty" :
if (q.isEmpty()) sb.append(1).append("\n");
else sb.append(0).append("\n");
break;
case "front" :
if (q.isEmpty()) sb.append(-1).append("\n");
else sb.append(q.peek()).append("\n");
break;
case "back" :
if (q.isEmpty()) sb.append(-1).append("\n");
else sb.append(last).append("\n");
break;
}
}
System.out.println(sb);
}
}
๋ฐฉ๋ฒ 2 : ํ๋ฅผ ๊ตฌํ
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
static int[] queue = new int[10001];
static int first = 0;
static int last = 0;
static void push(int N) {
queue[last] = N;
last++;
}
static int pop() {
if (last - first == 0) {
return -1;
} else {
int num = queue[first];
first++;
return num;
}
}
static int size() {
return last - first;
}
static int empty() {
if (last - first == 0) {
return 1;
} else {
return 0;
}
}
static int front() {
if (last - first == 0) {
return -1;
} else {
return queue[first];
}
}
static int back() {
if (last - first == 0) {
return -1;
} else {
return queue[last - 1];
}
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(br.readLine());
for (int i = 0; i < N; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
String str = st.nextToken();
switch (str) {
case "push" :
push(Integer.parseInt(st.nextToken()));
break;
case "pop" :
sb.append(pop()).append("\n");
break;
case "size" :
sb.append(size()).append("\n");
break;
case "empty" :
sb.append(empty()).append("\n");
break;
case "front" :
sb.append(front()).append("\n");
break;
case "back" :
sb.append(back()).append("\n");
break;
}
}
System.out.println(sb);
}
}
๊ฒฐ๊ณผ
์ ์ถ ๋ฒํธ 53918161 : ํ๋ฅผ ๊ตฌํ
์ ์ถ ๋ฒํธ 53916968 : ํ๋ฅผ ์ฌ์ฉ
์ฐธ๊ณ
[๋ฐฑ์ค] 10828๋ฒ : ์คํ
10828๋ฒ: ์คํ ์ฒซ์งธ ์ค์ ์ฃผ์ด์ง๋ ๋ช ๋ น์ ์ N (1 ≤ N ≤ 10,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ๋ช ๋ น์ด ํ๋์ฉ ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ์ ์๋ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค. ๋ฌธ์
pids.tistory.com
[Java]์ปฌ๋ ์ ํ๋ ์์ (3) - Stack & Queue
์คํ๊ณผ ํ (Stack & Queue) โถ ์คํ(Stack) : LIFO๊ตฌ์กฐ. ๋ง์ง๋ง์ ์ ์ฅ๋ ๊ฒ์ ์ ์ผ ๋จผ์ ๊บผ๋ด๊ฒ ๋๋ค. ์คํ์ ๋ฐ์ด ๋งํ ์์์ด๋ค. ์์์ 0, 1, 2๋ฅผ ์์๋๋ก ๋ฃ๊ฒ ๋๋ฉด ๊บผ๋ผ ๋๋ ๋ง์ง๋ง์ ๋ฃ์๋ 2, 1, 0
pids.tistory.com
[๋ฐฑ์ค/BOJ] 10845๋ฒ : ํ (JAVA / ์๋ฐ)
์๋ ํ์ธ์~ ์ฝ๋ฉํ๋ ์ฝ์๋ชป ์ฝ๋ฉ์ธ์ ๋๋ค. https://www.acmicpc.net/problem/10845 10845๋ฒ: ํ ์ฒซ์งธ ์ค์ ์ฃผ์ด์ง๋ ๋ช ๋ น์ ์ N (1 ≤ N ≤ 10,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ๋ช ๋ น์ด ํ๋์ฉ ์ฃผ์ด
comain.tistory.com
'๐ ์๊ณ ๋ฆฌ์ฆ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 4949๋ฒ : ๊ท ํ์กํ ์ธ์ (0) | 2023.01.13 |
---|---|
[๋ฐฑ์ค] 10773๋ฒ : ์ ๋ก (0) | 2023.01.13 |
[๋ฐฑ์ค] 2606๋ฒ : ๋ฐ์ด๋ฌ์ค (1) | 2023.01.11 |
[๋ฐฑ์ค] 11726๋ฒ : 2รn ํ์ผ๋ง (0) | 2023.01.10 |
[๋ฐฑ์ค] 2579๋ฒ : ๊ณ๋จ ์ค๋ฅด๊ธฐ (0) | 2023.01.10 |