https://school.programmers.co.kr/learn/courses/30/lessons/42586
λ¬Έμ
λ¬Έμ μ€λͺ
νλ‘κ·Έλλ¨Έμ€ νμμλ κΈ°λ₯ κ°μ μμ
μ μν μ€μ
λλ€. κ° κΈ°λ₯μ μ§λκ° 100%μΌ λ μλΉμ€μ λ°μν μ μμ΅λλ€.
λ, κ° κΈ°λ₯μ κ°λ°μλλ λͺ¨λ λ€λ₯΄κΈ° λλ¬Έμ λ€μ μλ κΈ°λ₯μ΄ μμ μλ κΈ°λ₯λ³΄λ€ λ¨Όμ κ°λ°λ μ μκ³ , μ΄λ λ€μ μλ κΈ°λ₯μ μμ μλ κΈ°λ₯μ΄ λ°°ν¬λ λ ν¨κ» λ°°ν¬λ©λλ€.
λ¨Όμ λ°°ν¬λμ΄μΌ νλ μμλλ‘ μμ
μ μ§λκ° μ ν μ μ λ°°μ΄ progressesμ κ° μμ
μ κ°λ° μλκ° μ ν μ μ λ°°μ΄ speedsκ° μ£Όμ΄μ§ λ κ° λ°°ν¬λ§λ€ λͺ κ°μ κΈ°λ₯μ΄ λ°°ν¬λλμ§λ₯Ό return νλλ‘ solution ν¨μλ₯Ό μμ±νμΈμ.
μ ν μ¬ν
- μμ μ κ°μ(progresses, speedsλ°°μ΄μ κΈΈμ΄)λ 100κ° μ΄νμ λλ€.
- μμ μ§λλ 100 λ―Έλ§μ μμ°μμ λλ€.
- μμ μλλ 100 μ΄νμ μμ°μμ λλ€.
- λ°°ν¬λ ν루μ ν λ²λ§ ν μ μμΌλ©°, ν루μ λμ μ΄λ£¨μ΄μ§λ€κ³ κ°μ ν©λλ€. μλ₯Ό λ€μ΄ μ§λμ¨μ΄ 95%μΈ μμ μ κ°λ° μλκ° ν루μ 4%λΌλ©΄ λ°°ν¬λ 2μΌ λ€μ μ΄λ£¨μ΄μ§λλ€.
μ μΆλ ₯ μ
progresses | speeds | return |
---|---|---|
[93, 30, 55] | [1, 30, 5] | [2, 1] |
[95, 90, 99, 99, 80, 99] | [1, 1, 1, 1, 1, 1] | [1, 3, 2] |
νμ΄
κ° μ§νλλ₯Ό 100μμ λΊ κ°μΌλ‘ μΈν
ν, μλλ‘ λλμ΄ λλ¨Έμ§κ° 0μ΄μλλ©΄ λͺ«μ + 1 κ°μΌλ‘, 0μ΄λΌλ©΄ λͺ« κ°μΌλ‘ μ€μ ν΄μ€λ€.
κ·Έλ¦¬κ³ λ¨Όμ 첫λ²μ§Έ κ°μ κΈ°μ€μΌλ‘ μ€μ (dayOfPre)
ν΄μ λ€μ κ°λ€μ΄dayOfPre
λ³΄λ€ μκ±°λ κ°λ€λ©΄ → cntOfDay
μ κ°μ += 1 ν΄μ£Όκ³ κ³μ μ§ν,
λ³΄λ€ ν¬λ€λ©΄ → cntOfDay
κ°μ answerμ μΆκ°ν΄μ£Όκ³ , cntOfDay
= 1, dayOfPre
κ°μ νμ¬ κ°μΌλ‘ μΈν
ν΄μ μ§νν΄μ€λ€.
μ½λ
import java.util.ArrayList;
import java.util.List;
public class L2_κΈ°λ₯_κ°λ° {
public static int[] solution(int[] progresses, int[] speeds) {
int[] remains = new int[progresses.length];
for (int i = 0; i < progresses.length; i++) {
remains[i] = 100 - progresses[i];
if(remains[i] % speeds[i] == 0) remains[i] /= speeds[i];
else remains[i] = remains[i] / speeds[i] + 1;
}
List<Integer> answer = new ArrayList<>();
int cntOfDay = 1, dayOfPre = remains[0];
for (int i = 1; i < remains.length; i++) {
if (dayOfPre >= remains[i]) {
cntOfDay += 1;
} else {
answer.add(cntOfDay);
cntOfDay = 1;
dayOfPre = remains[i];
}
}
answer.add(cntOfDay);
return answer.stream().mapToInt(Integer::intValue).toArray();
}
public static void main(String[] args) {
int[] progresses = {95, 90, 99, 99, 80, 99};
int[] speeds = {1, 1, 1, 1, 1, 1};
int[] answer = solution(progresses, speeds);
for(int a : answer) System.out.println(a);
}
}
'μκ³ λ¦¬μ¦ > νλ‘κ·Έλλ¨Έμ€' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[ Programmers ] 124 λλΌμ μ«μ ( μλ° / JAVA ) (0) | 2022.09.01 |
---|---|
[ Programmers ] λ¨μ²΄μ¬μ§ μ°κΈ° ( μλ° / JAVA ) (1) | 2022.09.01 |
[ Programmers ] μΉ΄μΉ΄μ€νλ μ¦ μ»¬λ¬λ§λΆ ( μλ° / JAVA ) (0) | 2022.08.31 |
[ Programmers ] μ€νμ±ν λ°© ( μλ° / JAVA ) (0) | 2022.08.31 |
[ Progammers ] λ¬Έμμ΄ μμΆ ( μλ° / JAVA ) (0) | 2022.08.31 |