728x90
๋ฐ์ํ
โ๋ฌธ์
๐์ ํ
์คํ ๋๋ ํ ๋๋ ๋จ์ ๋ฐ๋ณต๋ฌธ
โ๐ปํ์ด
ํ์ฌ ์ฃผ์๊ฐ๊ฒฉ์ด ์๊ฐ์ด ์ง๋๋ฉด์ ๋ฐ๋ ๊ฐ๊ฒฉ์ด ํ์ฌ ๊ฐ๊ฒฉ๊ณผ ๊ฐ๊ฑฐ๋ ํฌ๋ค๋ฉด ์๊ฐ์ ๊ณ์ 1์ฉ ์ฆ๊ฐ.
ํ์ฌ ๊ฐ๊ฒฉ๋ณด๋ค ์์์ง๋ค๋ฉด ๋ฐ๋ณต๋ฌธ์ ๋ฉ์ถค.
๐ป์ฝ๋
/** ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ ํ์ด**/
import java.util.*;
class Solution {
public int[] solution(int[] prices) {
int[] answer = new int[prices.length];
for(int i = 0; i < prices.length; i++)
for(int j = i + 1; j < prices.length; j++){
answer[i]++;
if(prices[i] > prices[j])
break;
}
return answer;
}
}
/** ํ๋ฅผ ์ฌ์ฉํ ํ์ด**/
import java.util.*;
class Solution {
public int[] solution(int[] prices) {
int[] answer = new int[prices.length];
Queue<Integer> q = new LinkedList<>();
for(int i : prices)
q.offer(i);
int i = 0;
while(!q.isEmpty()){
int current = q.poll();
for(int x : q){
answer[i]++;
if(current > x) break;
}
i++;
}
return answer;
}
}
๐ก์๋ก ๋ฐฐ์ด ๋ด์ฉ
**Queue**
- Queue๋ ์ธํฐํ์ด์ค๋ก FIFO ์๋ฃ๊ตฌ์กฐ์์ ์ฌ์ฉ๋๋ ๋ฉ์๋๋ฅผ ์ ์.
- LinkedList ๊ฐ์ฒด๋ฅผ Queue ์ธํฐํ์ด์ค ํ์
์ผ๋ก ๋ณํํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅ.
**์ ์ธ**
- Queue<์๋ฃํ> q = new LinkedList<>(); ์๋ฃํ์ ๋ฃ์ ๊ฒฝ์ฐ ํด๋น ์๋ฃํ๋ง ์ฝ์
, ์ญ์ ๊ฐ๋ฅ.
- Queue ๋ณ์๋ช
= new LinkedList(); ์ด๋ค ์๋ฃํ์ด๋ ์ฝ์
, ์ญ์ ๊ฐ๋ฅ. (์๋ฅผ ๋ค์ด, intํ์ ๋ฃ์๋ค๊ฐ Stringํ์ ์ฝ์
๊ฐ๋ฅ.)
**์ฝ์
**
- q.add(value); ์ฝ์
์ฑ๊ณต ์ true ์คํจ ์ ์์ธ ๋ฐ์.
- q.offer(value); ์ฝ์
์ฑ๊ณต ์ true ์คํจ ์ false ๋ณํ.
**์ญ์ **
- q.remove(); ์ญ์ ๋ value ๋ฐํ ๊ณต๋ฐฑ ํ์ด๋ฉด ์์ธ ๋ฐ์.
- q.remove(value); ํ์ ํด๋น ๊ฐ์ด ์กด์ฌํ๋ฉด ํด๋น ๊ฐ ์ญ์ ํ true ์กด์ฌํ์ง ์์ผ๋ฉด false.
- q.poll(); ์ญ์ ๋ value ๋ฐํ ๊ณต๋ฐฑ ํ์ด๋ฉด null ๋ฐํ.
**ํ front**
- q.element(); ํ front์ ์์นํ value ๋ฐํ ๊ณต๋ฐฑ์ด๋ฉด ์์ธ ๋ฐ์.
- q.peek(); ํ front์ ์์นํ value ๋ฐํ ๊ณต๋ฐฑ์ด๋ฉด null ๋ฐํ.
728x90
๋ฐ์ํ
'Coding Test > Algorithms' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 14889.์คํํธ์ ๋งํฌ/Java - Silver1 (0) | 2024.09.29 |
---|---|
[Baekjoon] 15649.N๊ณผ M (1)/Java - Silver3 (0) | 2024.09.29 |
[Baekjoon] 28278. ์คํ 2/Java - Silver4 (0) | 2024.09.28 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์์/Python - Lv.3 (1) | 2024.09.28 |
[Baekjoon] 2750. ์ ์ ๋ ฌํ๊ธฐ/Java - Bronze2 (1) | 2024.09.28 |