[μλ¦¬μ€ SW μμ§λμ΄ νΈλ] 빼곑ν μ±μ΄ μΌκ°ν
λ¬Έμ μ€λͺ
λΉ¨κ°μ, λ
Ήμ λλ κ²μ μμ μμμΌλ‘ μ΄λ£¨μ΄μ§ νμ΄ μμ΅λλ€. μ΄ νμ μΌμ ν κ·μΉμ ν΅ν΄ νμ΄ μμ±λμ΄ μΌκ°νμ΄ μμ±λ©λλ€.
μ΄μ νμμ λ μμ μμμ κ³ λ €νμ¬ κ°κ° λ§μ§λ§ νλ³΄λ€ νλ μ μ μμμ ν¬ν¨νλ μ°μ νμ΄ μμ±λ©λλ€.
λ μμ μμμ΄ λμΌνλ©΄ μ νμ λμΌν μμμ΄ μ¬μ©λκ³ μλ‘ λ€λ₯Έ κ²½μ° λλ½λ μμμ΄ μ νμ μ¬μ©λ©λλ€. μ΄λ°μμΌλ‘ λ¨ νλμ μμλ§ μλ λ§μ§λ§ νμ΄ λ¨μ λκΉμ§ μμ±λ©λλ€.
μλ₯Όλ€μ΄ R R G B R G B Bνμ μ λ ₯ λ°μΌλ©΄ μλμ κ°μ μΌκ°νμ΄ λ§λ€μ΄μ§λλ€. 맨 μλ νμ λνλ μμμ λ°ννλ ν¨μλ₯Ό μμ±νμΈμ.
R R G B R G B B
R B R G B R B
G G B R G G
G R G B G
B B R R
B G R
R B
G
μ νμ¬ν
μ μΆλ ₯ μ
dots | result |
---|---|
'RRGBRGBB' | 'G' |
'RBRGB' | 'B' |
μ§μμ¬ν
function triangle(row) {
// row == 'RBRGB'
while (row.length > 1) {
let tempStr = '';
for (let i = 0; i < row.length - 1; i++) {
tempStr += color(row[i], row[i + 1]);
} // R B
row = tempStr;
} // GGBR
// GRG
// BB
// B
return row;
}
function color(c1, c2) {
const colors = ['B', 'G', 'R'];
if (c1 === c2) {
return c1;
} else {
return colors.filter(c => c !== c1 && c !== c2)[0];
}
}
console.log(triangle('RBRGB'));
module.exports = { triangle };
π‘ μ
/μΆλ ₯ μ κ·Ό
1. input String(row)μ 쑰건μ μΆ©μ‘±νλμ§ νμΈνμΈμ.
쑰건: μ
λ ₯ λ¬Έμμ΄μλ λλ¬Έμ βBβ, βGβ λλ βRβλ§ ν¬ν¨λμ΄μΌ νλ€.
2. μ§μμ¬νμ κ·μΉλ°λ‘ λ μμ μμ λΉκ΅ν΄μ μλ‘μ΄ μμμ λ°ννλ μ½λλ₯Ό μμ±ν©λλ€.
3. κΈ°μ‘΄μ νλ³΄λ€ 1λ§νΌ 짧μμ§ νμ μμ±νκ³ color()ν¨μλ‘ λ체λ λ¬Έμμ΄μ λ°ννμΈμ.
=> λ ν¨μλ₯Ό ν€μλλ‘ μ¬μ©ν΄μ λ΅μ λ°ν ν΄μΌνλ ν¨μμ ν΄λΉ ν¨μλ₯Ό μ μ©νλ μμΌλ‘ μ κ·Όν΄μΌ νμλ€..
μκ³ λ¦¬μ¦ λ¬Έμ ν΄κ²°μ μμ΄μλ μ²μ μ νλ μ κ·Όμμ΄μμ΄μ κ²°κ΅ ν΄λ΅μ λ΄μΌνλ,,
μΌκΈκ°μ²΄λ‘μ ν¨μλ€λ₯Ό μ¬μ©νλ λ°©λ²μ μ΅μν΄μ ΈμΌκ² λ€λ μκ°μ΄ κ°λ..γ γ