์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ์ค๋ฅ๊ฒ์ถ
- ๋ฐ์ดํฐ ์ ์ก
- ์ฝ๋ฉํ ์คํธ์ค๋น
- ์ค๋ฅ์ ์ด
- ์๋น์ค ํ๋ฆฌ๋ฏธํฐ๋ธ
- ํ๋ ์ ๊ตฌ์กฐ
- mariadb
- ๋น์ฃผ๊ธฐ์ ํธ
- til
- i-type
- leetcode
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- 99ํด๋ฝ
- ๊ฐ๋ฐ์์ทจ์
- git merge
- IEEE 802
- xv6
- tcp ํ๋กํ ์ฝ
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- ํ ํฐ ๋ฒ์ค
- tcp ์ธ๊ทธ๋จผํธ
- ํญํด99
- well known ํฌํธ
- ์์๋ฒํธ
- ํ๋ก์ด๋์์
- ์ฐ๋ถํฌdb
- ์ฃผ๊ธฐ์ ํธ
- reducible
- ์ค๋ธ์
- ์ค๋ ๋
- Today
- Total
Unfazedโ๏ธ๐ฏ
๋ฐฑ์ค 25556 ํฌ์คํ ๋ณธ๋ฌธ
์ฒซ ์ ๊ทผ ๋ฐฉ์ (์ค๋ต)
4๊ฐ์ ์คํ์ผ๋ก ๋ถ๋ฆฌํ์ง ์๊ณ ๋จ์ํ ์์ด์ ์ค๋ฆ์ฐจ์์ด ๋๊ธธ ๋๋ง๋ค ๋ค๋ฅธ ์คํ์ ๋ด์์ผ๋๋ค๊ณ ์๊ฐํ์ฌ ์คํ ์นด์ดํธ๋ฅผ ์ฆ๊ฐ์ํค๊ณ ์คํ ์นด์ดํธ 4์ด๊ณผ์ NO๋ฅผ ์ถ๋ ฅํ๋ ๋ก์ง์ผ๋ก ๊ตฌํ.
์๋ชป๋ ์ด์ : ํ ๋ฒ ์ค๋ฆ์ฐจ์์ด ๋๊ธฐ๋ฉด ํด๋น ์คํ์ ์ฌ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ.
๊ตฌ๊ธ๋ง ์ดํ์ ๋ค์ ์ ๊ทผ
1. ์์ด์ ๋ฐฐ์ด๋ฆฌ์คํธ์ ๋ด๊ธฐ
ArrayList<Integer> numlist = new ArrayList<>();
for(int i=0; i<N; i++){
numlist.add(sc.nextInt());
}
2. 4๊ฐ์ ์คํ ๊ณต๊ฐ ์์ฑ ํ ๋น๊ต๋ฅผ ์ํ ์ด๊ธฐ๊ฐ๋ค์ ๋ฃ์ด์ค๋ค.
ArrayList<Stack<Integer>> stackList = new ArrayList<>();
for(int i=0; i<4; i++) {
stackList.add(new Stack<>());
stackList.get(i).add(Integer.MIN_VALUE);
}
3. ์์ด๋ค์ ์๋ฅผ ์์๋๋ก ์คํ์ ๋ด๋ ๋ก์ง ๊ตฌํ
cleanFlag => ์ฒญ์ ๊ฐ๋ฅ ์ฌ๋ถ
placeInStack(num, stackList) => ํด๋น num์ stack ์ค ํ๋์ ๋ด์ ์ ์์ผ๋ฉด true, ์๋ค๋ฉด false
boolean cleanFlag = true;
for(int num : numlist){
if(!placeInStack(num, stackList)){
cleanFlag = false;
break;
}
}
4. ์์ด์ ํด๋น ์๋ฅผ 4๊ฐ์ ์คํ๋ค ์ค ํ๋์ ๋ฃ์ ์ ์๋์ง ํ์ธ
i๋ฒ์งธ stack์ ๊ผญ๋๊ธฐ ๊ฐ๋ณด๋ค ์์ด์ ์๊ฐ ํด ๊ฒฝ์ฐ ์คํ์ ๋ด์ ์ ์๋ค. 4๊ฐ์ ์คํ ์ด๋๊ณณ์๋ ๋ด์ ์ ์์ ๊ฒฝ์ฐ false ๋ฆฌํด.
public static boolean placeInStack(int num, ArrayList<Stack<Integer>> stackList){
for(Stack<Integer> stack : stackList){
if(num > stack.peek()) {
stack.push(num);
return true;
}
}
return false;
}
์ ์ฒด ์ฝ๋
import java.util.ArrayList;
import java.util.Scanner;
import java.util.Stack;
public class Main {
public static void main(String[] args) {
int N;
Scanner sc = new Scanner(System.in);
N = sc.nextInt();
ArrayList<Integer> numlist = new ArrayList<>();
for(int i=0; i<N; i++){
numlist.add(sc.nextInt());
}
ArrayList<Stack<Integer>> stackList = new ArrayList<>();
for(int i=0; i<4; i++) {
stackList.add(new Stack<>());
stackList.get(i).add(Integer.MIN_VALUE);
}
boolean cleanFlag = true;
for(int num : numlist){
if(!placeInStack(num, stackList)){
cleanFlag = false;
break;
}
}
System.out.println(cleanFlag ? "YES" : "NO");
}
public static boolean placeInStack(int num, ArrayList<Stack<Integer>> stackList){
for(Stack<Integer> stack : stackList){
if(num > stack.peek()) {
stack.push(num);
return true;
}
}
return false;
}
}
'๋ฌธ์ ํด๊ฒฐ (PS) > ๋ฌธ์ ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
1721. Swapping Nodes in a Linked List [leetcode] | ๊ฐ์ด ์๋ ๊ฐ์ฒด(๋ ธ๋)๋ฅผ ์ง์ ๊ตํ ํด๋ณด๊ธฐ (0) | 2024.09.08 |
---|---|
๋ฐฑ์ค 2830 ํ์ฑ X3 (0) | 2023.12.20 |