Tags
- BOJ
- Brute Force Algorithm
- ๋ฐฑํธ๋ํน
- SpringBoot
- Dynamic Programming
- LV2
- ๋ฌธ์์ด
- sort
- dfs
- ๊ทธ๋ํ ํ์
- ์๋ฃ๊ตฌ์กฐ
- queue
- greedy
- Python
- ์ ๋ ฌ
- Java
- PGM
- ๊ตฌํ
- DP
- ๋๋น ์ฐ์ ํ์
- BFS
- Study
- ์ํ
- ์๋ฎฌ๋ ์ด์
- ๊ต์ฌ
- stack
- ์ ์๋ก
- ๊น์ด ์ฐ์ ํ์
- CodingTest
- ๊ทธ๋ํ ์ด๋ก
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_1874 : ์คํ ์์ด ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ์คํ์ pop, push ์ฐ์ฐ๊ณผ ํ์ ์ ์ถ ๊ฐ๋ ์ ์ ํํ๊ฒ ์๊ณ ์๋์ง ๋ฌป๋ ๋ฌธ์ ์ด๋ค.
- ์คํ์ ๋ฃ๋ ์์ฐ์ ๊ฐ์ ์ค๋ฆ ์ฐจ์ ์ ๋ ฌ์ด๋ค.
- ํ์ฌ ์์ด ๊ฐ >= ์์ฐ์
- ์์ฐ์๊ฐ ํ์ฌ ์์ด ๊ฐ๊ณผ ๊ฐ์์ง ๋ ๊น์ง ์์ฐ์๋ฅผ 1์ฆ๊ฐ์ํค๋ฉฐ ์คํ์ pushํ๋ค.
- ๋ง์ง๋ง์ ์ถ๋ ฅํ๊ธฐ ์ํด 1๋ฒ popํ๋ค.
- ํ์ฌ ์์ด ๊ฐ < ์์ฐ์
- popํด์ ์คํ์ ๊ฐ์ฅ ์ ๊ฐ์ ํ์ธํ๋ค.
- ๊บผ๋ธ ๊ฐ์ด ํ์ฌ ์์ด ๊ฐ์ด ์๋๋ผ๋ฉด, ํ์ ์ ์ถ ์๋ฆฌ์ ๋ฐ๋ผ์ ์์ด์ ํ๊ธฐํ ์ ์๋ค. NO์ถ๋ ฅ.
- ํ์ฌ ์์ด ๊ฐ์ด๋ผ๋ฉด ๊ทธ๋๋ก ์กฐ๊ฑด๋ฌธ์ ๋์จ๋ค.
- popํด์ ์คํ์ ๊ฐ์ฅ ์ ๊ฐ์ ํ์ธํ๋ค.
- ํ์ฌ ์์ด ๊ฐ >= ์์ฐ์
๐ธ ์ฝ๋ ๐ธ
import java.io.*;
import java.util.Stack;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuffer sb = new StringBuffer();
int n = Integer.parseInt(br.readLine());
Stack<Integer> stack = new Stack<>();
int num = 1;
boolean result = true;
for (int i = 0; i < n; i++){
int su = Integer.parseInt(br.readLine());
if (su >= num){
while (su >= num){
stack.push(num++);
sb.append("+\n");
}
stack.pop();
sb.append("-\n");
}
else {
int pop = stack.pop();
if (pop > su) {
System.out.println("NO");
result = false;
break;
}
else {
sb.append("-\n");
}
}
}
if (result) System.out.println(sb.toString());
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- Stack ํด๋์ค๋ฅผ ์ด์ฉํด์ ์คํ์ ์ฌ์ฉํ๋ค.
- ์ ๋ ฅ ๋ฐ์ ์์ด ๊ฐ์ ์ด์ฉํด ์คํ ํํ์ด ๋๋์ง ๊ณ์ฐํ๋ค.
๐ธ end ๐ธ
- ์ด์ ์ python์ผ๋ก ํ์๋ ๋ฌธ์ ์ธ๋ฐ, ๋ค์ java๋ก ํ์ด๋ณด๋ ์๋ก์ ๋ค.
- java์ ์๋ฃ๊ตฌ์กฐ ํด๋์ค๋ฅผ ์ฌ์ฉํ๋๊ฒ ์ต์์ง ์์๋ฐ ์ข์ ์ฐ์ต์ด ๋์๋ค.
- ํ ๋ฒ์ ์ถ๋ ฅํ๊ธฐ ์ํด StringBuffer๋ ์ฌ์ฉํ๋๋ฐ, ์ด์ ์๋ StringBuilder๋ฅผ ์ฌ์ฉํด์ ๊ทธ ์ฐจ์ด์ ์ด ๋ฌด์์ธ๊ฐ ํฌ์คํ
์ ์ฐพ์๋ณด์๋ค.
- String๊ณผ StringBuffer/StringBuilder์ ์ฐจ์ด์ ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ๋ณ์ฑ์ธ์ง ๊ฐ๋ณ์ฑ์ธ์ง์ด๋ค.
- String์ ๋ณํ์ง ์๋ ๋ฌธ์์ด์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ฌ์ฉํ๋ค.
- StringBuffer/StringBuilder๋ ๋ฌธ์์ด์ด ๊ธธ์ด์ง๋ฉด, ๊ทธ ๋งํผ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋๋ ค์ ์ฌ์ฉํ ์ ์๊ฒ ํด์ค๋ค.
- StringBuffer/StringBuilder์ ์ฐจ์ด์ ์ ๋๊ธฐํ(Synchronization)์ด๋ค.
- StringBuilder๋ ๋๊ธฐํ๋ฅผ ์ง์ํ์ง ์์ง๋ง ์๋๋ StringBuffer๋ณด๋ค ์ฑ๋ฅ์ด ์ข๋ค.
๋ฐ๋ผ์ ๋จ์ผ ์ค๋ ๋ ํ๊ฒฝ์์ ๋ฌธ์์ด์ ์์ ์ด ๋น๋ฒํ ๊ฒฝ์ฐ ์ฌ์ฉํ๋ค. - StringBuffer๋ ๋๊ธฐํ๋ฅผ ์ง์ํ์ฌ ๋ฉํฐ ์ค๋ ๋ ํ๊ฒฝ์์๋ ์์ ํ๊ฒ ๋์ํ๋ค.
๋ฐ๋ผ์ ๋ฉํฐ ์ค๋ ๋ ํ๊ฒฝ์์ ๋ฌธ์์ด์ ์์ ์ด ๋น๋ฒํ ๊ฒฝ์ฐ ์ฌ์ฉํ๋ค.
- StringBuilder๋ ๋๊ธฐํ๋ฅผ ์ง์ํ์ง ์์ง๋ง ์๋๋ StringBuffer๋ณด๋ค ์ฑ๋ฅ์ด ์ข๋ค.
- ์ด ๋ฌธ์ ํ์ด์์๋ StringBuilder๋ฅผ ์ฌ์ฉํ๋๊ฒ ๋ ์ฑ๋ฅ์ด ์ข์์ ๊ฒ์ด๋ค.
- String๊ณผ StringBuffer/StringBuilder์ ์ฐจ์ด์ ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ๋ณ์ฑ์ธ์ง ๊ฐ๋ณ์ฑ์ธ์ง์ด๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_2164 : ์นด๋2 (0) | 2022.11.07 |
---|---|
BOJ_17298 : ์คํฐ์ (0) | 2022.11.07 |
BOJ_11003 : ์ต์๊ฐ ์ฐพ๊ธฐ (0) | 2022.11.03 |
BOJ_12891 : DNA ๋น๋ฐ๋ฒํธ (0) | 2022.11.03 |
BOJ_1120 : ๋ฌธ์์ด (0) | 2022.11.02 |