첫 λ²μ§Έ νμ΄λ λ·ν°μκ° μλ κ²½μ°λ§ νλ³νμ¬
μ΄μ€ ν¬λ¬ΈμΌλ‘ μ²λ¦¬νμ΅λλ€
2κ° μ λ μκ°μ΄κ³Όκ° λ°μνμ΅λλ€
μκ° μ΄κ³Όκ° λ°μν΄μ μ΄λ»κ² ν΄μΌ λ°λ³΅μ μ€μΌ μ μμκΉ κ³ λ―Όνμ΅λλ€
μκ°μ νλ€λ³΄λ μ€νμ ν΅ν΄ λ·ν°μλ§ μ μ§νλ©΄ λκ² λ€λ νλ¨μ΄ λ€μμ΅λλ€.
λ€μμλΆν° μνλ₯Ό νλ©΄μ
λ°λ‘ λ€μ μλ μμ κ·Έ μμ λ·ν°μλ€λ§ μ€νμΌλ‘ κ΄λ¦¬νλ λ°©μμΌλ‘ νμμ΅λλ€
function solution(numbers) {
//λ€μμλΆν° μννλ©΄μ
//μ€νμλ λ°λ‘ λ€μ μλ μμ κ·Έ μμ λ·ν°μλ€λ§ κ΄λ¦¬
const stack = [];
const result = [];
//λ€μμλΆν° μν
for (let i = numbers.length - 1; i >= 0; i--) {
//μ€νμ΄ λΉ λκΉμ§ λ°λ³΅
while (stack.length) {
//λ°λ‘ λ€μ μλ μμ κ·Έ μμ λ·ν°μ
const current = stack.pop();
//κ°μ₯ κ°κΉμ΄ μλ λ·ν°μλ₯Ό λ°κ²¬νλ©΄
//λ·ν°μ λ€μ stackμ λ£κ³
//λ°λ³΅λ¬Έ νμΆ
if (current > numbers[i]) {
result.push(current);
stack.push(current);
break;
}
}
//stackμ΄ λΉμμΌλ©΄ λ·ν°μκ° μ‘΄μ¬νμ§ μλ κ²μ΄λ―λ‘ κ²°κ³Όμ -1 μΆκ°
if (stack.length === 0) result.push(-1);
//νμ¬ μλ₯Ό stackμ μΆκ°
stack.push(numbers[i]);
}
return result.reverse();
}
λ°μλ
μκ° μ΄κ³Ό κ±Έλ Έμλ νμ΄
function solution(numbers) {
//λ€μμλΆν° μννλ©΄μ
//μ΅λκ°μ μ μ₯ν΄λκ°
//λ·ν°μκ° μμΌλ©΄ μ«μ λ°λ‘ λ€μμλΆν° μν
let max = -Infinity;
const result=[];
for(let i=numbers.length-1;i>=0;i--){
if(max<=numbers[i]){
result.push(-1);
max=numbers[i];
continue;
}
for(let j=i+1;j<numbers.length;j++){
if(numbers[j]>numbers[i]){
result.push(numbers[j]);
break;
}
}
}
return result.reverse();
}
'π§ μκ³ λ¦¬μ¦' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ¨Έμ€] νλ°° λ°°λ¬κ³Ό μκ±°νκΈ° JS (0) | 2024.01.10 |
---|---|
[νλ‘κ·Έλλ¨Έμ€] μμ μ§κΏ JS (0) | 2024.01.09 |
[νλ‘κ·Έλλ¨Έμ€] 무μΈλ μ¬ν JS (0) | 2024.01.06 |
[νλ‘κ·Έλλ¨Έμ€] νΈν λμ€ JS (1) | 2024.01.05 |
[νλ‘κ·Έλλ¨Έμ€]λ―Έλ‘ νμΆ JS (2) | 2024.01.04 |