2019 KAKAO BLIND RECRUITMENTμ μ€ν¨μ¨ λ¬Έμ νμ΄
μ€ν¨μ¨

λ¬Έμ
λ¬Έμ μ΄μ΄λ³΄κΈ°
μνΌ κ²μ κ°λ°μ μ€λ 리λ ν° κ³ λ―Όμ λΉ μ‘λ€. κ·Έλ κ° λ§λ νλμ¦ μ€μ²μ±μ΄ λμ±κ³΅μ κ±°λμ§λ§, μμ¦ μ κ· μ¬μ©μμ μκ° κΈκ°ν κ²μ΄λ€. μμΈμ μ κ· μ¬μ©μμ κΈ°μ‘΄ μ¬μ©μ μ¬μ΄μ μ€ν μ΄μ§ μ°¨μ΄κ° λ무 ν° κ²μ΄ λ¬Έμ μλ€.
μ΄ λ¬Έμ λ₯Ό μ΄λ»κ² ν κΉ κ³ λ―Ό ν κ·Έλ λ λμ μΌλ‘ κ²μ μκ°μ λλ €μ λμ΄λλ₯Ό μ‘°μ νκΈ°λ‘ νλ€. μμ μνΌ κ°λ°μλΌ λλΆλΆμ λ‘μ§μ μ½κ² ꡬννμ§λ§, μ€ν¨μ¨μ ꡬνλ λΆλΆμμ μκΈ°μ λΉ μ§κ³ λ§μλ€. μ€λ 리λ₯Ό μν΄ μ€ν¨μ¨μ ꡬνλ μ½λλ₯Ό μμ±νλΌ.
- μ€ν¨μ¨μ λ€μκ³Ό κ°μ΄ μ μνλ€.
- μ€ν μ΄μ§μ λλ¬νμΌλ μμ§ ν΄λ¦¬μ΄νμ§ λͺ»ν νλ μ΄μ΄μ μ / μ€ν μ΄μ§μ λλ¬ν νλ μ΄μ΄ μ
μ 체 μ€ν μ΄μ§μ κ°μ N, κ²μμ μ΄μ©νλ μ¬μ©μκ° νμ¬ λ©μΆ°μλ μ€ν μ΄μ§μ λ²νΈκ° λ΄κΈ΄ λ°°μ΄ stagesκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, μ€ν¨μ¨μ΄ λμ μ€ν μ΄μ§λΆν° λ΄λ¦Όμ°¨μμΌλ‘ μ€ν μ΄μ§μ λ²νΈκ° λ΄κ²¨μλ λ°°μ΄μ return νλλ‘ solution ν¨μλ₯Ό μμ±νλΌ.
μ νμ¬ν
- μ€ν μ΄μ§μ κ°μ Nμ 1 μ΄μ 500 μ΄νμ μμ°μμ΄λ€.
- stagesμ κΈΈμ΄λ 1 μ΄μ 200,000 μ΄νμ΄λ€.
- stagesμλ 1 μ΄μ N + 1 μ΄νμ μμ°μκ° λ΄κ²¨μλ€.
- κ° μμ°μλ μ¬μ©μκ° νμ¬ λμ μ€μΈ μ€ν μ΄μ§μ λ²νΈλ₯Ό λνλΈλ€.
- λ¨, N + 1 μ λ§μ§λ§ μ€ν μ΄μ§(N λ²μ§Έ μ€ν μ΄μ§) κΉμ§ ν΄λ¦¬μ΄ ν μ¬μ©μλ₯Ό λνλΈλ€.
- λ§μ½ μ€ν¨μ¨μ΄ κ°μ μ€ν μ΄μ§κ° μλ€λ©΄ μμ λ²νΈμ μ€ν μ΄μ§κ° λ¨Όμ μ€λλ‘ νλ©΄ λλ€.
- μ€ν μ΄μ§μ λλ¬ν μ μ κ° μλ κ²½μ° ν΄λΉ μ€ν μ΄μ§μ μ€ν¨μ¨μ 0 μΌλ‘ μ μνλ€.
μ μΆλ ₯ μμ
| N | stages | result |
|---|---|---|
| 5 | [2, 1, 2, 6, 2, 4, 3, 3] | [3,4,2,1,5] |
| 4 | [4,4,4,4,4] | [4,1,2,3] |
μ μΆλ ₯ μ μ€λͺ
-
μ μΆλ ₯ μ #1
1λ² μ€ν μ΄μ§μλ μ΄ 8λͺ μ μ¬μ©μκ° λμ νμΌλ©°, μ΄ μ€ 1λͺ μ μ¬μ©μκ° μμ§ ν΄λ¦¬μ΄νμ§ λͺ»νλ€. λ°λΌμ 1λ² μ€ν μ΄μ§μ μ€ν¨μ¨μ λ€μκ³Ό κ°λ€.-
1 λ² μ€ν μ΄μ§ μ€ν¨μ¨ : 1/8
2λ² μ€ν μ΄μ§μλ μ΄ 7λͺ μ μ¬μ©μκ° λμ νμΌλ©°, μ΄ μ€ 3λͺ μ μ¬μ©μκ° μμ§ ν΄λ¦¬μ΄νμ§ λͺ»νλ€. λ°λΌμ 2λ² μ€ν μ΄μ§μ μ€ν¨μ¨μ λ€μκ³Ό κ°λ€. -
2 λ² μ€ν μ΄μ§ μ€ν¨μ¨ : 3/7
λ§μ°¬κ°μ§λ‘ λλ¨Έμ§ μ€ν μ΄μ§μ μ€ν¨μ¨μ λ€μκ³Ό κ°λ€. -
3λ² μ€ν μ΄μ§ μ€ν¨μ¨ : 2/4
-
4λ² μ€ν μ΄μ§ μ€ν¨μ¨ : 1/2
-
5λ² μ€ν μ΄μ§ μ€ν¨μ¨ : 0/1
κ° μ€ν μ΄μ§μ λ²νΈλ₯Ό μ€ν¨μ¨μ λ΄λ¦Όμ°¨μμΌλ‘ μ λ ¬νλ©΄ λ€μκ³Ό κ°λ€. -
[3,4,2,1,5]
-
-
μ μΆλ ₯ μ #2
λͺ¨λ μ¬μ©μκ° λ§μ§λ§ μ€ν μ΄μ§μ μμΌλ―λ‘ 4λ² μ€ν μ΄μ§μ μ€ν¨μ¨μ 1μ΄λ©° λλ¨Έμ§ μ€ν μ΄μ§μ μ€ν¨μ¨μ 0μ΄λ€.- [4,1,2,3]
μΉ΄μΉ΄μ€ κ³΅μ ν΄μ€ 보λ¬κ°κΈ°
νμ΄
// javascript
function solution(N, stages) {
var answer = [];
// μ€ν
μ΄μ§ λ°λ³΅
for (let i = 1; i <= N; i++) {
// νμ¬ μ€ν
μ΄μ§μ λλ¬νμΌλ ν΄λ¦¬μ΄νμ§ λͺ»ν μ¬λ
let currentStagePlayer = stages.filter((stage) => stage === i).length;
// νμ¬ μ€ν
μ΄μ§λ₯Ό λλ¬ν μ¬λ
let overStagePlayer = stages.filter((stage) => stage >= i).length;
answer.push({
stage: i, // μ€ν
μ΄μ§
fail: overStagePlayer ? currentStagePlayer / overStagePlayer : 0, // μ€ν¨μ¨
});
}
answer = answer
.sort((a, b) => {
// μ€ν¨μ¨μ΄ κ°λ€λ©΄, μ€ν
μ΄μ§ μ€λ¦μ°¨μ μ λ ¬
if (a.fail === b.fail) {
return a.stage - b.stage;
}
// μ€ν¨μ¨ λ΄λ¦Όμ°¨μ μ λ ¬
return b.fail - a.fail;
})
.map((item) => item.stage);
return answer;
}
μ₯ν©νμ§λ§ κ²°λ‘ μ
- μ€ν μ΄μ§λ³λ‘ μ€ν¨μ¨μ΄ λμ μμλ‘ λ΄λ¦Όμ°¨μ μ λ ¬
- μ€ν¨μ¨μ΄ κ°λ€λ©΄ μμ μ€ν μ΄μ§λ²νΈκ° λ¨Όμ μ€λλ‘ μ€λ¦μ°¨μ μ λ ¬
μ λκ°μ§κ° ν΅μ¬μ΄ λκ² λ€.
κ° μ€ν μ΄μ§ λ³λ‘ μ€ν¨μ¨μ ꡬνλ건 곡μμ΄ λμμμΌλ μ΄λ ΅μ§ μκ² κ΅¬ν μ μλ€. λ€λ§ λΆλͺ¨κ° λλ λΆλΆμ΄ 0μ΄ μ¬ μ μμΌλ―λ‘, κ·Έ λΆλΈλ§ μμΈμ²λ¦¬λ₯Ό ν΄μ£Όλ©΄ λκ² λ€.
μ λ ¬μ κ²½μ° κΈ°λ³Έμ μΌλ‘λ μ€ν¨μ¨ λ΄λ¦Όμ°¨μ μ λ ¬μ κ°μ Έκ°κ³ μ νμ‘°κ±΄μΈ μ€ν¨μ¨μ΄ κ°μ λ μ€ν μ΄μ§ μ€λ¦μ°¨μ μ λ ¬μ μμΈλ‘ μ μ΄μ£Όλ©΄ λκ² λ€.
νμ΄μ½λλ§ λ³΄λ©΄ κ·Έλ κ² μ΄λ ΅μ§ μμΌλ, λ¬Έμ λ₯Ό μ΄ν΄νκ³ ν΅μ¬μ μ°Ύμλ΄λ νλ ¨μ΄ μ§μμ μΌλ‘ νμν κ² κ°λ€. κΎΈμ€ν κΎΈμ€ν νμ.