01-08 08:57
Recent Posts
Recent Comments
Tags
- ICT๋ฉํ ๋ง
- SQL
- ํ์ด์
- appetizer
- DATABASE
- Java
- API MarketPlace ๊ธ๋ก๋ฒ ์ํฌํฐ์ฆ
- linux
- mysql
- JOBํ๊ณ
- ์ด๋ธ์
- ์๋์ด๋ ธ
- ICT
- ์กํ๊ณ
- API๋ง์ผํ๋ ์ด์ค
- Naver Cloud
- TSQL
- ํ์ด์๊ณต๋ชจ์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ict๊ณต๋ชจ์
- ํ์ด์ฌ
- python
- ์๋ฐ
- DB
- ํ๋ก๋ณด๋ ธ
- ์คํฝ๋ ํ
- ์คํฝ์ค๋น
- ์จ์ผ๋ํ
- RaspberryPi
- Spring
- Today
- Total
miinsun
[Programmers] ๊ธฐ๋ฅ๊ฐ๋ฐ - JAVA (Stack/Queue) ๋ณธ๋ฌธ
๐ฌ ๋ฌธ์ ์ค๋ช
ํ๋ก๊ทธ๋๋จธ์ค ํ์์๋ ๊ธฐ๋ฅ ๊ฐ์ ์์ ์ ์ํ ์ค์ ๋๋ค. ๊ฐ ๊ธฐ๋ฅ์ ์ง๋๊ฐ 100%์ผ ๋ ์๋น์ค์ ๋ฐ์ํ ์ ์์ต๋๋ค.
๋, ๊ฐ ๊ธฐ๋ฅ์ ๊ฐ๋ฐ์๋๋ ๋ชจ๋ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ค์ ์๋ ๊ธฐ๋ฅ์ด ์์ ์๋ ๊ธฐ๋ฅ๋ณด๋ค ๋จผ์ ๊ฐ๋ฐ๋ ์ ์๊ณ ,
์ด๋ ๋ค์ ์๋ ๊ธฐ๋ฅ์ ์์ ์๋ ๊ธฐ๋ฅ์ด ๋ฐฐํฌ๋ ๋ ํจ๊ป ๋ฐฐํฌ๋ฉ๋๋ค.
๋จผ์ ๋ฐฐํฌ๋์ด์ผ ํ๋ ์์๋๋ก ์์ ์ ์ง๋๊ฐ ์ ํ ์ ์ ๋ฐฐ์ด progresses์ ๊ฐ ์์ ์ ๊ฐ๋ฐ ์๋๊ฐ ์ ํ ์ ์ ๋ฐฐ์ด speeds๊ฐ ์ฃผ์ด์ง ๋, ๊ฐ ๋ฐฐํฌ๋ง๋ค ๋ช ๊ฐ์ ๊ธฐ๋ฅ์ด ๋ฐฐํฌ๋๋์ง๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์.
๐จ ์ ์ถ๋ ฅ ์
- ์
์ถ๋ ฅ ์
- ์ฒซ ๋ฒ์งธ ๊ธฐ๋ฅ์ 93% ์๋ฃ๋์ด ์๊ณ ํ๋ฃจ์ 1%์ฉ ์์ ์ด ๊ฐ๋ฅํ๋ฏ๋ก 7์ผ๊ฐ ์์ ํ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
- ๋ ๋ฒ์งธ ๊ธฐ๋ฅ์ 30%๊ฐ ์๋ฃ๋์ด ์๊ณ ํ๋ฃจ์ 30%์ฉ ์์ ์ด ๊ฐ๋ฅํ๋ฏ๋ก 3์ผ๊ฐ ์์ ํ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
- ํ์ง๋ง ์ด์ ์ฒซ ๋ฒ์งธ ๊ธฐ๋ฅ์ด ์์ง ์์ฑ๋ ์ํ๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ์ฒซ ๋ฒ์งธ ๊ธฐ๋ฅ์ด ๋ฐฐํฌ๋๋ 7์ผ์งธ ๋ฐฐํฌ๋ฉ๋๋ค.
- ์ธ ๋ฒ์งธ ๊ธฐ๋ฅ์ 55%๊ฐ ์๋ฃ๋์ด ์๊ณ ํ๋ฃจ์ 5%์ฉ ์์ ์ด ๊ฐ๋ฅํ๋ฏ๋ก 9์ผ๊ฐ ์์ ํ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
- ๋ฐ๋ผ์ 7์ผ์งธ์ 2๊ฐ์ ๊ธฐ๋ฅ, 9์ผ์งธ์ 1๊ฐ์ ๊ธฐ๋ฅ์ด ๋ฐฐํฌ๋ฉ๋๋ค.
- ์
์ถ๋ ฅ ์
- ๋ชจ๋ ๊ธฐ๋ฅ์ด ํ๋ฃจ์ 1%์ฉ ์์ ์ด ๊ฐ๋ฅํ๋ฏ๋ก, ์์ ์ด ๋๋๊ธฐ๊น์ง ๋จ์ ์ผ์๋ ๊ฐ๊ฐ 5์ผ, 10์ผ, 1์ผ, 1์ผ, 20์ผ, 1์ผ์ ๋๋ค.
- ์ด๋ค ๊ธฐ๋ฅ์ด ๋จผ์ ์์ฑ๋์๋๋ผ๋ ์์ ์๋ ๋ชจ๋ ๊ธฐ๋ฅ์ด ์์ฑ๋์ง ์์ผ๋ฉด ๋ฐฐํฌ๊ฐ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
- ๋ฐ๋ผ์ 5์ผ์งธ์ 1๊ฐ์ ๊ธฐ๋ฅ, 10์ผ์งธ์ 3๊ฐ์ ๊ธฐ๋ฅ, 20์ผ์งธ์ 2๊ฐ์ ๊ธฐ๋ฅ์ด ๋ฐฐํฌ๋ฉ๋๋ค.
โ
๐ป Solution.java
import java.util.*;
class Solution {
public int[] solution(int[] progresses, int[] speeds) {
List<Integer> answerList = new ArrayList<>();
//ํ ์ด๊ธฐํ
Queue<Integer> queue = new LinkedList<>();
for(int num : progresses){
queue.add(num);
}
int day = 1; // ์งํ์ผ
int total = 0; // ์ฐ์์ผ๋ก ์งํ๋๋ ์
int progress = 0; // ๋ฐฐํฌํ ๊ธฐ๋ฅ Index
while(!queue.isEmpty()){
if ((queue.peek() + (day * speeds[progress])) >= 100){
queue.poll();
total++;
progress++;
}
else{
day++;
if(total > 0 ){
answerList.add(total);
total = 0;
}
}
}
// ๋ง์ง๋ง ๊ธฐ๋ฅ์ ํญ์ total์ด 0 ์ด์์ด๋๊น
answerList.add(total);
int[] answer = new int [answerList.size()];
for(int i = 0; i < answer.length; i++){
answer[i] = answerList.get(i).intValue();
}
return answer;
}
}
'Algorithm > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Programmers] ๋ฉ๋ด ๋ฆฌ๋ด์ผ - JAVA (Map / ์งํฉ) (0) | 2022.05.18 |
---|---|
[Programmers] ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ - JAVA (Stack/Queue) (0) | 2022.05.08 |
[ํ๋ก๊ทธ๋๋จธ์ค] Java 2019 KAKAO ์คํ์ฑํ ๋ฐฉ (0) | 2021.12.06 |
[Programmers] Java ์ํธ ํ๊ฐ (0) | 2021.12.06 |
[Programmers] Java ๋ถ์กฑํ ๊ธ์ก ๊ณ์ฐํ๊ธฐ (0) | 2021.12.06 |
Comments