체μ‘볡 λ¬Έμ νμ΄
λ¬Έμ
λ¬Έμ μ΄μ΄λ³΄κΈ°
μ μ¬μκ°μ λλμ΄ λ€μ΄, μΌλΆ νμμ΄ μ²΄μ‘볡μ λλλΉνμ΅λλ€. λ€νν μ¬λ² 체μ‘λ³΅μ΄ μλ νμμ΄ μ΄λ€μκ² μ²΄μ‘볡μ λΉλ €μ£Όλ € ν©λλ€. νμλ€μ λ²νΈλ 체격 μμΌλ‘ λ§€κ²¨μ Έ μμ΄, λ°λ‘ μλ²νΈμ νμμ΄λ λ°λ‘ λ·λ²νΈμ νμμκ²λ§ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€. μλ₯Ό λ€μ΄, 4λ² νμμ 3λ² νμμ΄λ 5λ² νμμκ²λ§ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€. 체μ‘λ³΅μ΄ μμΌλ©΄ μμ μ λ€μ μ μκΈ° λλ¬Έμ 체μ‘볡μ μ μ ν λΉλ € μ΅λν λ§μ νμμ΄ μ²΄μ‘μμ μ λ€μ΄μΌ ν©λλ€.
μ 체 νμμ μ n, 체μ‘볡μ λλλΉν νμλ€μ λ²νΈκ° λ΄κΈ΄ λ°°μ΄ lost, μ¬λ²μ 체μ‘볡μ κ°μ Έμ¨ νμλ€μ λ²νΈκ° λ΄κΈ΄ λ°°μ΄ reserveκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, 체μ‘μμ μ λ€μ μ μλ νμμ μ΅λκ°μ return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ νμ¬ν
- μ 체 νμμ μλ 2λͺ μ΄μ 30λͺ μ΄νμ λλ€.
- 체μ‘볡μ λλλΉν νμμ μλ 1λͺ μ΄μ nλͺ μ΄νμ΄κ³ μ€λ³΅λλ λ²νΈλ μμ΅λλ€.
- μ¬λ²μ 체μ‘볡μ κ°μ Έμ¨ νμμ μλ 1λͺ μ΄μ nλͺ μ΄νμ΄κ³ μ€λ³΅λλ λ²νΈλ μμ΅λλ€.
- μ¬λ² 체μ‘λ³΅μ΄ μλ νμλ§ λ€λ₯Έ νμμκ² μ²΄μ‘볡μ λΉλ €μ€ μ μμ΅λλ€.
- μ¬λ² 체μ‘볡μ κ°μ Έμ¨ νμμ΄ μ²΄μ‘볡μ λλλΉνμ μ μμ΅λλ€. μ΄λ μ΄ νμμ 체μ‘볡μ νλλ§ λλλΉνλ€κ³ κ°μ νλ©°, λ¨μ 체μ‘λ³΅μ΄ νλμ΄κΈ°μ λ€λ₯Έ νμμκ²λ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€.
μ μΆλ ₯ μ
| n | lost | reserve | return |
|---|---|---|---|
| 5 | [2, 4] | [1, 3, 5] | 5 |
| 5 | [2, 4] | [3] | 4 |
| 3 | [3] | [1] | 2 |
| 5 | [2, 4] | [2] | 4 |
μ μΆλ ₯ μ μ€λͺ
μ μΆλ ₯ μ #1
1λ² νμμ΄ 2λ² νμμκ² μ²΄μ‘볡μ λΉλ €μ£Όκ³ , 3λ² νμμ΄λ 5λ² νμμ΄ 4λ² νμμκ² μ²΄μ‘볡μ λΉλ €μ£Όλ©΄ νμ 5λͺ μ΄ μ²΄μ‘μμ μ λ€μ μ μμ΅λλ€.
μ μΆλ ₯ μ #2
3λ² νμμ΄ 2λ² νμμ΄λ 4λ² νμμκ² μ²΄μ‘볡μ λΉλ €μ£Όλ©΄ νμ 4λͺ μ΄ μ²΄μ‘μμ μ λ€μ μ μμ΅λλ€.
μ μΆλ ₯ μ #3
μλ΅
μ μΆλ ₯ μ #4
khwan μΆκ° ν
μ€νΈ μΌμ΄μ€
체μ‘볡μ μμ΄λ²λ¦° νμμ΄ μ¬λΆμ κ°κ³ μλ μΌμ΄μ€κ° μμΌλ―λ‘ ν
μ€νΈ μΌμ΄μ€λ₯Ό μΆκ°ν΄μ£Όμμ΅λλ€.
2λ²νμμ΄ μμ΄λ²λ Έμ§λ§ μ¬λΆ λν κ°μ§κ³ μμΌλ―λ‘ 4λ² νμλ§ μ²΄μ‘λ³΅μ΄ μλ κ²°κ³Όλ₯Ό κ°κ³ , μ΄ 4λͺ
λ§ μμ
μ λ€μ μ μμ΅λλ€.
νμ΄
// javascript
function solution(n, lost, reserve) {
// μμ
μ΄ κ°λ₯ν νμ = μ 체νμμ - μμ΄λ²λ¦° νμ
let answer = n - lost.length;
for (let i = 0; i < lost.length; i++) {
for (let j = 0; j < reserve.length; j++) {
// μμ΄λ²λ¦° μ¬λμ΄ μ¬λΆμ κ°κ³ μλ κ²½μ°
if (lost[i] === reserve[j]) {
// κ°κ° λ°°μ΄μμ μ μΈ
lost.splice(i, 1);
reserve.splice(j, 1);
// μμ
κ°λ₯ν νμ μ μ¦κ°
answer++;
// λ°°μ΄μ μμ ν΄μ€¬κΈ° λλ¬Έμ λ‘μ§μ κ²μ¦μμ΄ λμ΄κ°λ indexκ° μμ μ μμΌλ―λ‘ iλ₯Ό λΉΌμ€
i--;
break;
}
}
}
for (let i = 0; i < lost.length; i++) {
for (let j = 0; j < reserve.length; j++) {
// μμ΄λ²λ¦° νμμ μ, λ·λ²νΈμ νμμ΄ μ¬λΆμ κ°κ³ μλ€λ©΄
if (lost[i] - 1 === reserve[j] || lost[i] + 1 === reserve[j]) {
// κ°κ° λ°°μ΄μμ μ μΈ
lost.splice(i, 1);
reserve.splice(j, 1);
// μμ
κ°λ₯ν νμ μ μ¦κ°
answer++;
// λ°°μ΄μ μμ ν΄μ€¬κΈ° λλ¬Έμ κ²μ¦μμ΄ λμ΄κ°λ indexκ° μμ μ μμΌλ―λ‘ iλ₯Ό λΉΌμ€
i--;
break;
}
}
}
return answer;
}
μ μ²λΌ λ¬Έμ λ₯Ό νμλλ°, λ€λ₯Έ μ¬λλ€μ νμ΄λ₯Ό λ³΄κ³ λ°μ±νκ² λλ€. λ€λ₯Έ μ¬λμ νμ΄ μ€ κ°μ₯ μ§§μ νμ΄μ, λ΄κ° 보기μ κ°μ₯ μ΄ν΄κ° μ¬μ΄ νμ΄λ₯Ό 첨λΆν΄λ³Έλ€. μ°Έκ³ νλ©΄μ 곡λΆλ₯Ό λ§μ΄ ν΄μΌκ² λ€.
λ€λ₯Έ μ¬λμ νμ΄
κ°μ₯ μ§§μ μ½λ
function solution(n, lost, reserve) {
return (
n -
lost.filter((a) => {
const b = reserve.find((r) => Math.abs(r - a) <= 1);
if (!b) return true;
reserve = reserve.filter((r) => r !== b);
}).length
);
}
λ΄ κΈ°μ€ κ°μ₯ μ΄ν΄κ° μ¬μ΄ μ½λ
function solution(n, lost, reserve) {
var answer = new Array(n).fill(1);
lost.forEach((val) => answer[val - 1]--);
reserve.forEach((val) => answer[val - 1]++);
for (let i = 0; i < answer.length; i++) {
var clothLength = answer[i];
if (clothLength === 2) {
if (answer[i + 1] === 0 || answer[i - 1] === 0) {
answer[i]--;
answer[i + (answer[i + 1] === 0 ? 1 : -1)]++;
}
}
}
return answer.filter((x) => x >= 1).length;
}