[νλ‘κ·Έλλ¨Έμ€] 체μ‘볡
https://programmers.co.kr/learn/courses/30/lessons/42862?language=java
λ¬Έμ μ€λͺ
μ μ¬μκ°μ λλμ΄ λ€μ΄, μΌλΆ νμμ΄ μ²΄μ‘볡μ λλλΉνμ΅λλ€. λ€νν μ¬λ² 체μ‘λ³΅μ΄ μλ νμμ΄ μ΄λ€μκ² μ²΄μ‘볡μ λΉλ €μ£Όλ € ν©λλ€. νμλ€μ λ²νΈλ 체격 μμΌλ‘ λ§€κ²¨μ Έ μμ΄, λ°λ‘ μλ²νΈμ νμμ΄λ λ°λ‘ λ·λ²νΈμ νμμκ²λ§ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€. μλ₯Ό λ€μ΄, 4λ² νμμ 3λ² νμμ΄λ 5λ² νμμκ²λ§ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€. 체μ‘λ³΅μ΄ μμΌλ©΄ μμ μ λ€μ μ μκΈ° λλ¬Έμ 체μ‘볡μ μ μ ν λΉλ € μ΅λν λ§μ νμμ΄ μ²΄μ‘μμ μ λ€μ΄μΌ ν©λλ€.
μ 체 νμμ μ n, 체μ‘볡μ λλλΉν νμλ€μ λ²νΈκ° λ΄κΈ΄ λ°°μ΄ lost, μ¬λ²μ 체μ‘볡μ κ°μ Έμ¨ νμλ€μ λ²νΈκ° λ΄κΈ΄ λ°°μ΄ reserveκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, 체μ‘μμ μ λ€μ μ μλ νμμ μ΅λκ°μ return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ νμ¬ν
- μ 체 νμμ μλ 2λͺ μ΄μ 30λͺ μ΄νμ λλ€.
- 체μ‘볡μ λλλΉν νμμ μλ 1λͺ μ΄μ nλͺ μ΄νμ΄κ³ μ€λ³΅λλ λ²νΈλ μμ΅λλ€.
- μ¬λ²μ 체μ‘볡μ κ°μ Έμ¨ νμμ μλ 1λͺ μ΄μ nλͺ μ΄νμ΄κ³ μ€λ³΅λλ λ²νΈλ μμ΅λλ€.
- μ¬λ² 체μ‘λ³΅μ΄ μλ νμλ§ λ€λ₯Έ νμμκ² μ²΄μ‘볡μ λΉλ €μ€ μ μμ΅λλ€.
- μ¬λ² 체μ‘볡μ κ°μ Έμ¨ νμμ΄ μ²΄μ‘볡μ λλλΉνμ μ μμ΅λλ€. μ΄λ μ΄ νμμ 체μ‘볡μ νλλ§ λλλΉνλ€κ³ κ°μ νλ©°, λ¨μ 체μ‘λ³΅μ΄ νλμ΄κΈ°μ λ€λ₯Έ νμμκ²λ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€.
Code
class Solution {
public int solution(int n, int[] lost, int[] reserve) {
int answer = n-lost.length;
for(int i=0; i<lost.length;i++){
for(int j=0;j<reserve.length;j++){
if(lost[i]==reserve[j]){
lost[i]=-4;
reserve[j]=-2;
answer++;
}
}
}
for(int i = 0; i<lost.length; i++){
for(int j=0;j<reserve.length; j++){
if(reserve[j]==lost[i]-1 || reserve[j]==lost[i]+1){
reserve[j]=-2;
answer++;
break;
}
}
}
return answer;
}
}
Code μ€λͺ
λ¨Όμ μ²μμ nλͺ
μ lostκΈΈμ΄λ₯Ό λΉΌμ£Όκ³ κ·Έ λ€μμΌλ‘
μκ°ν΄μΌλ λΆλΆμ΄ 2κ°μ§ λΆλΆμ΄ μλ€.
- μμ΄λ²λ¦° μ¬λκ³Ό μ¬λΆμ΄ μλ μ¬λμ΄ κ°μ λ (μ΄ μ¬λμ κ·Έλ₯ 1λ²μ΄ μλμ¬λμ΄ λλ€.)
- μμ΄λ²λ¦° μ¬λκ³Ό μ¬λΆμ΄ μλ μ¬λμ λ²νΈκ° 1μ΄ μ°¨μ΄κ° λ λ
λ§μ½ μ 2κ°μ 쑰건μ λ§μ‘±νλ€λ©΄ λ²νΈλ₯Ό -2μ -4λ‘ κ°κ° λ°κΎΈκ³ (λλ€ -2λ‘ λ°κΏλ μκ΄μμλ―) answerμ +1 ν΄μ£Όμλ€.
λ°°μ΄μ
μ²μμ 2λ²μ§Έλ§ μκ°νλ€κ° κ³μ νλ €μ μκ³ λ³΄λ 1λ²μ§Έ κ²½μ°κ° μμλ€.
Greedyλ¬Έμ μ¬μ λ±ν μ ν΄μ§ λ°©λ²μ μλκ±° κ°λ€?
'Algorithm' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Algorithm/Java][νλ‘κ·Έλλ¨Έμ€] ν€ν¨λ λλ₯΄κΈ° (1) | 2021.07.18 |
---|---|
[Algorithm/Java][νλ‘κ·Έλλ¨Έμ€] μ«μ λ¬Έμμ΄κ³Ό μλ¨μ΄ (0) | 2021.07.18 |
[Algoritm/Java][νλ‘κ·Έλλ¨Έμ€] ν°μΌλͺ¬ (0) | 2021.07.12 |
[Algorithm/JAVA][νλ‘κ·Έλλ¨Έμ€] μμ£Όνμ§ λͺ»ν μ μ (0) | 2021.07.11 |
[Algorithm/Java][νλ‘κ·Έλλ¨Έμ€] ν¬λ μΈ μΈνλ½κΈ° κ²μ (0) | 2021.07.10 |