ν λ¬Έμ νμ΄
λ¬Έμ
λ¬Έμ μ΄μ΄λ³΄κΈ°
μν μ§μ μ ν Nλλ₯Ό μΈμ μ΅λλ€. λͺ¨λ νμ κΌλκΈ°μλ μ νΈλ₯Ό μ‘/μμ νλ μ₯μΉλ₯Ό μ€μΉνμ΅λλ€. λ°μ¬ν μ νΈλ μ νΈλ₯Ό λ³΄λΈ νλ³΄λ€ λμ νμμλ§ μμ ν©λλ€. λν, ν λ² μμ λ μ νΈλ λ€λ₯Έ νμΌλ‘ μ‘μ λμ§ μμ΅λλ€.
μλ₯Ό λ€μ΄ λμ΄κ° 6, 9, 5, 7, 4μΈ λ€μ― νμ΄ μΌμͺ½μΌλ‘ λμμ λ μ΄μ μ νΈλ₯Ό λ°μ¬ν©λλ€. κ·Έλ¬λ©΄, νμ λ€μκ³Ό κ°μ΄ μ νΈλ₯Ό μ£Όκ³ λ°μ΅λλ€. λμ΄κ° 4μΈ λ€μ― λ²μ§Έ νμμ λ°μ¬ν μ νΈλ λμ΄κ° 7μΈ λ€ λ²μ§Έ νμ΄ μμ νκ³ , λμ΄κ° 7μΈ λ€ λ²μ§Έ νμ μ νΈλ λμ΄κ° 9μΈ λ λ²μ§Έ νμ΄, λμ΄κ° 5μΈ μΈ λ²μ§Έ νμ μ νΈλ λμ΄κ° 9μΈ λ λ²μ§Έ νμ΄ μμ ν©λλ€. λμ΄κ° 9μΈ λ λ²μ§Έ νκ³Ό λμ΄κ° 6μΈ μ²« λ²μ§Έ νμ΄ λ³΄λΈ λ μ΄μ μ νΈλ μ΄λ€ νμμλ μμ ν μ μμ΅λλ€.
| μ‘μ ν(λμ΄) | μμ ν(λμ΄) |
|---|---|
| 5(4) | 4(7) |
| 4(7) | 2(9) |
| 3(5) | 2(9) |
| 2(9) | - |
| 1(6) | - |
맨 μΌμͺ½λΆν° μμλλ‘ νμ λμ΄λ₯Ό λ΄μ λ°°μ΄ heightsκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ κ° νμ΄ μ μ νΈλ₯Ό μ΄λ νμμ λ°μλμ§ κΈ°λ‘ν λ°°μ΄μ return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ νμ¬ν
- heightsλ κΈΈμ΄ 2 μ΄μ 100 μ΄νμΈ μ μ λ°°μ΄μ λλ€.
- λͺ¨λ νμ λμ΄λ 1 μ΄μ 100 μ΄νμ λλ€.
- μ νΈλ₯Ό μμ νλ νμ΄ μμΌλ©΄ 0μΌλ‘ νμν©λλ€.
μ μΆλ ₯ μ
| heights | return |
|---|---|
| [6,9,5,7,4] | [0,0,2,2,4] |
| [3,9,9,3,5,7,2] | [0,0,0,3,3,3,6] |
| [1,5,3,6,7,6,5] | [0,0,2,0,0,5,6] |
μ μΆλ ₯ μ μ€λͺ
-
μ μΆλ ₯ μ #1
μμ μ€λͺ ν μμ κ°μ΅λλ€. -
μ μΆλ ₯ μ #2
[1,2,3] λ²μ§Έ νμ΄ μ μ νΈλ μ무λ μμ νμ§ μμ΅λλ€.
[4,5,6] λ²μ§Έ νμ΄ μ μ νΈλ 3λ²μ§Έ νμ΄ μμ ν©λλ€.
[7] λ²μ§Έ νμ΄ μ μ νΈλ 6λ²μ§Έ νμ΄ μμ ν©λλ€. -
μ μΆλ ₯ μ #3
[1,2,4,5] λ²μ§Έ νμ΄ μ μ νΈλ μ무λ μμ νμ§ μμ΅λλ€.
[3] λ²μ§Έ νμ΄ μ μ νΈλ 2λ²μ§Έ νμ΄ μμ ν©λλ€.
[6] λ²μ§Έ νμ΄ μ μ νΈλ 5λ²μ§Έ νμ΄ μμ ν©λλ€.
[7] λ²μ§Έ νμ΄ μ μ νΈλ 6λ²μ§Έ νμ΄ μμ ν©λλ€.
νμ΄
function solution(heights) {
let heightsLength = heights.length;
let answer = Array(heightsLength).fill(0);
for (let i = heightsLength - 1; i >= 0; i--) {
for (let j = i - 1; j >= 0; j--) {
if (heights[j] > heights[i]) {
answer[i] = j + 1;
break;
}
}
}
return answer;
}
λ€μμλΆν° μΌμͺ½μΌλ‘ μ΄λνλ©° μμ λ³΄λ€ κΈΈμ΄κ° κΈ΄ νμ΄ λνλ¬μ λ ν΄λΉ νμ index + 1 μ 체ν¬ν΄μ£Όλ λ°©λ²μΌλ‘ νμλ€. λλ λ¬Έμ κ·Έλλ‘ μ€λ₯Έμͺ½μμ μΌμͺ½μΌλ‘ μ΄λνλ©° νμλλ°, λ€λ₯Έ μ¬λλ€μ νμ΄λ₯Ό 보λ κ΅³μ΄ κ·Έλ΄ νμκ° μμ΄ μ²«λ²μ§Έ λ°λ³΅μμλ μΌμͺ½μμ μ€λ₯Έμͺ½, λλ²μ§Έ λ°λ³΅μμλ§ μ€λ₯Έμͺ½μμ μΌμͺ½μΌλ‘ κ°λ λκ² λλΌ.
λ€λ₯Έ μ¬λμ νμ΄
function solution(heights) {
return heights.map((v, i) => {
while (i) {
i--;
if (heights[i] > v) {
return i + 1;
}
}
return 0;
});
}