π» Q
νλ‘κ·Έλλ¨Έμ€ νμμλ κΈ°λ₯ κ°μ μμ μ μν μ€μ λλ€. κ° κΈ°λ₯μ μ§λκ° 100%μΌ λ μλΉμ€μ λ°μν μ μμ΅λλ€.
λ, κ° κΈ°λ₯μ κ°λ°μλλ λͺ¨λ λ€λ₯΄κΈ° λλ¬Έμ λ€μ μλ κΈ°λ₯μ΄ μμ μλ κΈ°λ₯λ³΄λ€ λ¨Όμ κ°λ°λ μ μκ³ , μ΄λ λ€μ μλ κΈ°λ₯μ μμ μλ κΈ°λ₯μ΄ λ°°ν¬λ λ ν¨κ» λ°°ν¬λ©λλ€.
λ¨Όμ λ°°ν¬λμ΄μΌ νλ μμλλ‘ μμ μ μ§λκ° μ ν μ μ λ°°μ΄ progressesμ κ° μμ μ κ°λ° μλκ° μ ν μ μ λ°°μ΄ speedsκ° μ£Όμ΄μ§ λ κ° λ°°ν¬λ§λ€ λͺ κ°μ κΈ°λ₯μ΄ λ°°ν¬λλμ§λ₯Ό return νλλ‘ solution ν¨μλ₯Ό μμ±νμΈμ.
πβοΈ μ ν μ¬ν
• μμ μ κ°μ(progresses, speedsλ°°μ΄μ κΈΈμ΄)λ 100κ° μ΄νμ λλ€.
• μμ μ§λλ 100 λ―Έλ§μ μμ°μμ λλ€.
• μμ μλλ 100 μ΄νμ μμ°μμ λλ€.
• λ°°ν¬λ ν루μ ν λ²λ§ ν μ μμΌλ©°, ν루μ λμ μ΄λ£¨μ΄μ§λ€κ³ κ°μ ν©λλ€.
• μλ₯Ό λ€μ΄ μ§λμ¨μ΄ 95%μΈ μμ μ κ°λ° μλκ° ν루μ 4%λΌλ©΄ λ°°ν¬λ 2μΌ λ€μ μ΄λ£¨μ΄μ§λλ€.
μ μΆλ ₯ μ
# 1
첫 λ²μ§Έ κΈ°λ₯μ 93% μλ£λμ΄ μκ³ ν루μ 1%μ© μμ μ΄ κ°λ₯νλ―λ‘ 7μΌκ° μμ ν λ°°ν¬κ° κ°λ₯ν©λλ€.
λ λ²μ§Έ κΈ°λ₯μ 30%κ° μλ£λμ΄ μκ³ ν루μ 30%μ© μμ μ΄ κ°λ₯νλ―λ‘ 3μΌκ° μμ ν λ°°ν¬κ° κ°λ₯ν©λλ€.
νμ§λ§ μ΄μ 첫 λ²μ§Έ κΈ°λ₯μ΄ μμ§ μμ±λ μνκ° μλκΈ° λλ¬Έμ 첫 λ²μ§Έ κΈ°λ₯μ΄ λ°°ν¬λλ 7μΌμ§Έ λ°°ν¬λ©λλ€.
μΈ λ²μ§Έ κΈ°λ₯μ 55%κ° μλ£λμ΄ μκ³ ν루μ 5%μ© μμ μ΄ κ°λ₯νλ―λ‘ 9μΌκ° μμ ν λ°°ν¬κ° κ°λ₯ν©λλ€.
λ°λΌμ 7μΌμ§Έμ 2κ°μ κΈ°λ₯, 9μΌμ§Έμ 1κ°μ κΈ°λ₯μ΄ λ°°ν¬λ©λλ€.
# 2
λͺ¨λ κΈ°λ₯μ΄ ν루μ 1%μ© μμ μ΄ κ°λ₯νλ―λ‘, μμ μ΄ λλκΈ°κΉμ§ λ¨μ μΌμλ κ°κ° 5μΌ, 10μΌ, 1μΌ, 1μΌ, 20μΌ, 1μΌμ λλ€.
μ΄λ€ κΈ°λ₯μ΄ λ¨Όμ μμ±λμλλΌλ μμ μλ λͺ¨λ κΈ°λ₯μ΄ μμ±λμ§ μμΌλ©΄ λ°°ν¬κ° λΆκ°λ₯ν©λλ€.
λ°λΌμ 5μΌμ§Έμ 1κ°μ κΈ°λ₯, 10μΌμ§Έμ 3κ°μ κΈ°λ₯, 20μΌμ§Έμ 2κ°μ κΈ°λ₯μ΄ λ°°ν¬λ©λλ€.
π‘ A
κ°μ₯ μμ μλ κΈ°λ₯μ΄ μλ£ λκΈ° μ κΉμ§ λ€μ κΈ°λ₯μ΄ λ°°ν¬λμ§ λͺ»νλ€λ 쑰건μ μκ°νμλ FIFO κ΅¬μ‘°μΈ νλ₯Ό μ¬μ©νλκ² μ ν©ν΄ 보μλ€.
νμ§λ§ μ΄λ»κ² ꡬνν κ²μΈμ§ μκ°λ³΄λ€ μ΄λ €μ λ€.
μ§νλ₯ κ³Ό μ§νμλλ₯Ό λ°λ‘ μ μ₯ν΄μ£Όκ³ λ°°ν¬μΌ μλ₯Ό λ΄μ λ°°μ΄ λ¦¬μ€νΈλ₯Ό λ§λ ν μ§νλ₯ κ³Ό μ§νμλλ₯Ό λν΄ 100μ λμΌλ©΄ λ°°ν¬ μλ₯Ό λνλ΄λ countλ₯Ό λλ €μ£Όκ³ κ°μ₯ μ λ°μ΄ν°λ₯Ό κΊΌλΈλ€.
100μ΄ λμ§ μμ κ²½μ° λ μ§ μλ₯Ό λλ € μ£Όκ³ λ°°ν¬λλ λ μ§μ κΈ°λ₯ μλ₯Ό λ°ν νλ€.import java.util.Queue; import java.util.LinkedList; import java.util.ArrayList; class Solution { public int[] solution(int[] progresses, int[] speeds) { int[] answer = {}; ArrayList<Integer> days = new ArrayList<>(); Queue<Integer> prog = new LinkedList<>(); Queue<Integer> sp = new LinkedList<>(); for(int i=0;i<progresses.length;i++) prog.add(progresses[i]); for(int i=0;i<speeds.length;i++) sp.add(speeds[i]); int day = 1; while(!prog.isEmpty()){ int count = 0; while(prog.peek() + (sp.peek() * day) < 100) day++; while (!prog.isEmpty() && prog.peek() + (sp.peek() * day) >= 100){ prog.remove(); sp.remove(); count++; } if(count > 0) days.add(count); } answer = new int[days.size()]; for(int i = 0; i < days.size(); i++) answer[i] = days.get(i); return answer; } }
'Algorithm > Programmers' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[3μ£Όμ°¨] νλ‘κ·Έλλ¨Έμ€ νκ² λλ² (0) | 2021.08.14 |
---|---|
[2μ£Όμ°¨] νλ‘κ·Έλλ¨Έμ€ μμ μ°ΎκΈ° (0) | 2021.08.08 |
[2μ£Όμ°¨] νλ‘κ·Έλλ¨Έμ€ λͺ¨μκ³ μ¬ (0) | 2021.08.01 |
[1μ£Όμ°¨] νλ‘κ·Έλλ¨Έμ€ μ£Όμκ°κ²© (0) | 2021.07.27 |
[1μ£Όμ°¨] νλ‘κ·Έλλ¨Έμ€ λ€λ¦¬λ₯Ό μ§λλ νΈλ (0) | 2021.07.27 |