Jieunnyμ λΈλ‘κ·Έ
[JS] νλ‘κ·Έλλ¨Έμ€ - λμΆ© λ§λ μν λ³Έλ¬Έ
π λ¬Έμ
ν΄λν°μ μνμ μ»΄ν¨ν° ν€λ³΄λ μνκ³Όλ λ€λ₯΄κ² νλμ ν€μ μ¬λ¬ κ°μ λ¬Έμκ° ν λΉλ μ μμ΅λλ€. ν€ νλμ μ¬λ¬ λ¬Έμκ° ν λΉλ κ²½μ°, λμΌν ν€λ₯Ό μ°μν΄μ λΉ λ₯΄κ² λλ₯΄λ©΄ ν λΉλ μμλλ‘ λ¬Έμκ° λ°λλλ€.
μλ₯Ό λ€μ΄, 1λ² ν€μ "A", "B", "C" μμλλ‘ λ¬Έμκ° ν λΉλμ΄ μλ€λ©΄ 1λ² ν€λ₯Ό ν λ² λλ₯΄λ©΄ "A", λ λ² λλ₯΄λ©΄ "B", μΈ λ² λλ₯΄λ©΄ "C"κ° λλ μμ
λλ€.
κ°μ κ·μΉμ μ μ©ν΄ μ무λ κ²λ λ§λ ν΄λν° μνμ΄ μμ΅λλ€. μ΄ ν΄λν° μνμ ν€μ κ°μκ° 1κ°λΆν° μ΅λ 100κ°κΉμ§ μμ μ μμΌλ©°, νΉμ ν€λ₯Ό λλ μ λ μ
λ ₯λλ λ¬Έμλ€λ 무μμλ‘ λ°°μ΄λμ΄ μμ΅λλ€. λ, κ°μ λ¬Έμκ° μν μ 체μ μ¬λ¬ λ² ν λΉλ κ²½μ°λ μκ³ , ν€ νλμ κ°μ λ¬Έμκ° μ¬λ¬ λ² ν λΉλ κ²½μ°λ μμ΅λλ€. μ¬μ§μ΄ μμ ν λΉλμ§ μμ κ²½μ°λ μμ΅λλ€. λ°λΌμ λͺλͺ λ¬Έμμ΄μ μμ±ν μ μμ μλ μμ΅λλ€.
μ΄ ν΄λν° μνμ μ΄μ©ν΄ νΉμ λ¬Έμμ΄μ μμ±ν λ, ν€λ₯Ό μ΅μ λͺ λ² λλ¬μΌ κ·Έ λ¬Έμμ΄μ μμ±ν μ μλμ§ μμλ³΄κ³ μ ν©λλ€.
1λ² ν€λΆν° μ°¨λ‘λλ‘ ν λΉλ λ¬Έμλ€μ΄ μμλλ‘ λ΄κΈ΄ λ¬Έμμ΄λ°°μ΄ keymapκ³Ό μ
λ ₯νλ €λ λ¬Έμμ΄λ€μ΄ λ΄κΈ΄ λ¬Έμμ΄ λ°°μ΄ targetsκ° μ£Όμ΄μ§ λ, κ° λ¬Έμμ΄μ μμ±νκΈ° μν΄ ν€λ₯Ό μ΅μ λͺ λ²μ© λλ¬μΌ νλμ§ μμλλ‘ λ°°μ΄μ λ΄μ return νλ solution ν¨μλ₯Ό μμ±ν΄ μ£ΌμΈμ.
λ¨, λͺ©ν λ¬Έμμ΄μ μμ±ν μ μμ λλ -1μ μ μ₯ν©λλ€.
π‘ μμ΄λμ΄
μ μΌ κ°κΉμ΄ λ¬Έμμ΄μ indexλ₯Ό κ°μ Έμ€κΈ° λλ¬Έμ κ° λ¬Έμλ³ μΈλ±μ€κ° λ΄κΈ΄ κ°μ²΄λ₯Ό μμ±ν΄μ€λ€.
targetsμ λλ©΄μ λ¬Έμμ΄μ΄ μλ€λ©΄ sumμ λν΄μ£Όκ³ , μλ€λ©΄ tempλ₯Ό falseλ‘ λ°κΏμ€λ€.
tempλ₯Ό λ°λ‘ μ μΈν΄μ€ μ΄μ λ, νλμ λ¬Έμμ΄μ΄λΌλ μ‘΄μ¬νμ§ μλλ€λ©΄ λ΅μ΄ [-1] μ΄ μλλΌ ν΄λΉνλ λ¬Έμμ΄λ§ -1 μ΄κΈ° λλ¬Έμ κ° λ¬Έμμ΄λ³λ‘ λλ μ μκ°ν΄μ£Όμ΄μΌ νλ€.
βοΈ νμ΄
function solution(keymap, targets) {
var answer = [];
let alphabet = {};
for(let i of keymap) {
for(let j of i) {
if(!Object.keys(alphabet).includes(j)) {
alphabet[j] = i.indexOf(j) + 1;
}
else {
if(alphabet[j] > i.indexOf(j)) {
alphabet[j] = i.indexOf(j) + 1;
}
}
}
}
for(let i of targets) {
let temp = true;
let sum = 0;
for(let j of i) {
if(Object.keys(alphabet).includes(j)) {
sum += alphabet[j];
}
else {
temp = false;
sum -= 1;
break;
}
}
if(temp) {
answer.push(sum);
} else {
answer.push(-1);
}
}
return answer;
}
'Study > Coding Test' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JS] νλ‘κ·Έλλ¨Έμ€ - λ°©λ¬Έ κΈΈμ΄ (0) | 2023.07.20 |
---|---|
[JS] νλ‘κ·Έλλ¨Έμ€ - λ λ°λ¨ΉκΈ° (0) | 2023.07.19 |
[JS] νλ‘κ·Έλλ¨Έμ€ - λ¬λ¦¬κΈ° κ²½μ£Ό (0) | 2023.07.17 |
[JS] νλ‘κ·Έλλ¨Έμ€ - ν μΈ νμ¬ (0) | 2023.04.04 |
[JS] νλ‘κ·Έλλ¨Έμ€ - νΌλ‘λ (0) | 2023.04.04 |