Tags
- CodingTest
- greedy
- ๋ฌธ์์ด
- dfs
- Java
- ์ํ
- ๊ต์ฌ
- ์ ๋ ฌ
- DP
- SpringBoot
- BFS
- BOJ
- ์ ์๋ก
- ๋ฐฑํธ๋ํน
- stack
- ๊ตฌํ
- LV2
- Study
- ๊ทธ๋ํ ํ์
- ๋๋น ์ฐ์ ํ์
- ์๋ฃ๊ตฌ์กฐ
- ์๋ฎฌ๋ ์ด์
- ๊ทธ๋ํ ์ด๋ก
- PGM
- queue
- sort
- Brute Force Algorithm
- Dynamic Programming
- ๊น์ด ์ฐ์ ํ์
- Python
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_15652 : N๊ณผ M (4) ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- 1๋ถํฐ N๊น์ง์ ์ ์ค์์ M์ ์ ํํ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ถ๋ ฅํ๋ค.
- ๊ฐ์ ์๋ฅผ ๊ณจ๋ผ๋ ๋์ง๋ง ์ถ๋ ฅ์ ์ค๋ฆ์ฐจ์์ด์ด์ผ ํ๋ค. ( == ๋น๋ด๋ฆผ์ฐจ์)
- ์ฌ๊ทํ์์ผ๋ก ๋ฐฑํธ๋ํน์ด ํ์ํ๋ฐ, ์คํ์ผ๋ก ๊ตฌํํ ์ ์๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.util.ArrayList;
import java.util.Scanner;
import java.util.Stack;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
Stack<Integer> stack = new Stack<>();
stack.push(1);
while (!stack.isEmpty()) {
if (stack.size() == m) {
for (int i : stack) {
System.out.print(i + " ");
}
System.out.println("");
while (!stack.isEmpty()) {
int temp = stack.pop();
if (temp + 1 <= n) {
stack.push(temp + 1);
break;
}
}
}
else stack.push(stack.peek());
}
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- ์ฌ๊ทํ์์ผ๋ก ์๋ฅผ ์ ํํ๋ ๊ฒ์ ์คํ์ผ๋ก ๊ตฌํํ๋ค.
- ์คํ์ ์์๊ฐ m๊ฐ๊ฐ ๋์ง ์์๋ค๋ฉด, ์คํ์ ๋ง์ง๋ง ์์์ ๊ฐ์ ๊ฐ์ pushํ๋ค.
- ์คํ์ ์์๊ฐ m๊ฐ๋ผ๋ฉด, ์์๋ฅผ ์ถ๋ ฅํ๋ค.
- ์ถ๋ ฅ ํ popํ ์์์ +1 ํ๊ณ pushํ๋ค.
- +1 ํ ์๊ฐ m์ ๋์ผ๋ฉด ๋ค์ ์์๋ฅผ popํ๋ค.
- popํ ์์๊ฐ ๋จ์ง ์์๋ค๋ฉด ํ๋ก๊ทธ๋จ์ ์ข ๋ฃํ๋ค.
๐ธ end ๐ธ
- N๊ณผ M ์๋ฆฌ์ฆ๋ฅผ ํ๋ฉฐ ์ฌ๊ท ๋ฉ์๋์ ์ต์ํด์ ธ์ ์ด๋ฒ์ ์คํ์ผ๋ก ํ๊ณ ์ ํ๋๋ฐ, ์ ๊ทผ ๋ฐฉ์์ ๋ฌ๋ฆฌํ๋ ์กฐ๊ธ ์ด๋ ต๊ฒ ๋๊ปด์ก๋ค.
- ์คํ์ ์์๋ฅผ ๋ฐ๋ก ์ถ๋ ฅํ ์ ์์ด์ ์ถ๋ ฅ์ ์ํ ๋ค๋ฅธ ArrayList๋ฅผ ๋ง๋ค์ด์ ๊ฐ์ ์ฃผ๊ณ ๋ฐ๊ณ ํด์ผํ๋ ์ค ์์๋๋ฐ, ์ํ์ผ์ for-each๋ฌธ์ผ๋ก ์คํ ์์๋ฅผ ์ถ๋ ฅํด๋ณด๋ ๊ฐ๋ฅํด์ ์ด ๋ฐฉ๋ฒ์ ์ ํํ๋ค.
- java์ Stackํด๋์ค๋ ์์๋ฅผ ๊บผ๋ด๊ฑฐ๋ ๋ฃ์๋ ์ฌ์ฉํ๋ ๋ฉ์๋๊ฐ ์ฌ๋ฌ ์ด๋ฆ์ด ์๋ ๊ฒ ๊ฐ์ ์์๋ณด์๋ค.
- ํฌ์คํ
๋ด์ฉ
- push()๋ stack์์ ์ ๊ณต, add()๋ List์์ ์ ๊ณตํ๋ ๋ฉ์๋์ด๋ค.
- push()์ ๋ฆฌํด๊ฐ์ <E>์ด๊ณ , add()์ ๋ฆฌํด๊ฐ์ boolean์ด๋ค.
- <E>๋ ๋ฌด์์ธ๊ฐ ๋ค์ ์ฐพ์๋ณด์๋ค. (ํฌ์คํ
)
- Genericํํ : ๊ฐ์์ ํ์ ์ผ๋ก ์ ์ธํ๋ ๊ฒ
- ๋ฐ๋ผ์ Stack<E>์์ ์ ์ธํ ์๋ฃํ์ ๋ฐํํ๋ ๊ฒ
- ์ฝ๋์ psuh๋ฅผ println()์ผ๋ก ๊ฐ์ธ๋ณด๋, ์คํ์ psuh()๋ก ๋ฃ์ ๊ฐ์ ๋ค์ ๋ฐํํด์ ์ถ๋ ฅ๋์๋ค.
- ํฌ์คํ
๋ด์ฉ
โ
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_15351 : ์ธ์ ์ ์ (0) | 2022.12.14 |
---|---|
BOJ_15654 : N๊ณผ M (5) (0) | 2022.12.14 |
BOJ_15651 : N๊ณผ M (3) (0) | 2022.12.10 |
BOJ_15650 : N๊ณผ M (2) (0) | 2022.12.09 |
BOJ_15649 : N๊ณผ M (1) (0) | 2022.12.08 |