π μ΄μ μκ³ λ¦¬μ¦ λ¬Έμ λ₯Ό νμ΄μ ν¨κ» νΈλ μκ°μ΄μλλ° 1~3λ²μΈ 그리λ, ꡬν λ¬Έμ λ νμμΌλ 4λ²μΈ DP λ¬Έμ λ₯Ό νμ§ λͺ»νμλ€ μ‘°κΈλ§ λ μκ°νμΌλ©΄ νμκ² μ§λΌλ μκ°λ λ€μμΌλ κ·Έκ²μ μ½λ©ν μ€νΈλ‘ λ°μ§λ μκ°μ΄ λ§μ΄ κ±Έλ ΈκΈ° λλ¬Έμ 1μ μ λμ νμ΄κ° λμ§ λͺ»νμ κ² κ°λ€. μμΌλ‘ JSλ‘ μκ³ λ¦¬μ¦μ λμ± λ§μ΄ νμ΄μΌ κ² λ€λ μκ°μ νκ²λμλ ν루μλ€. κ·Έλμ μ€λμ κΌ λͺ¨λ λ¬Έμ λ₯Ό νμ΄μ κ°μ΄ ν΄κ²°ν μ μμμΌλ©΄ μ’κ² λ€λ μκ°μ νλ€.
π μ€λ νμ΅ν λ΄μ©
μμ΄ (Permutaion)
- μλ‘ λ€λ₯Έ nκ°μ μμλ₯Ό κ°μ§λ μ΄λ€ μ§ν©μμ μ€λ³΅ μμ΄ μμμ μκ΄μκ² rκ°μ μμλ₯Ό μ ννκ±°λ νΉμ λμ΄νλ κ²μ΄λ©°, μ΄λ μ‘°ν©κ³Ό λ§μ°¬κ°μ§λ‘ nκ°μ μμλ‘ μ΄λ£¨μ΄μ§ μ§ν©μμ rκ°μ μμλ‘ μ΄λ£¨μ΄μ§ λΆλΆμ§ν©μ λ§λλ κ²κ³Ό κ°λ€.
μ‘°ν© (Combination)
- μλ‘ λ€λ₯Έ nκ°μ μμλ₯Ό κ°μ§λ μ΄λ€ μ§ν©μμ μ€λ³΅ μμ΄ μμμ μκ΄μκ² rκ°μ μμλ₯Ό μ ννλ κ²μ΄λ©°, μ΄λ nκ°μ μμλ‘ μ΄λ£¨μ΄μ§ μ§ν©μμ rκ°μ μμλ‘ μ΄λ£¨μ΄μ§ λΆλΆμ§ν©μ λ§λλ κ²κ³Ό κ°λ€.
GCD (μ΅λ곡μ½μ, Greatest Common Divisor)
- λ μ μ΄μμ μ¬λ¬ μ μ€ κ³΅ν΅λ *μ½μλ₯Ό μλ―Ένλ€.
- *μ½μ: μ΄λ€ μλ₯Ό λλμ΄ λ¨μ΄μ§κ² νλ μλ₯Ό μλ―Ένλ€.
- μμ
- 6μ μ½μ: 1, 2, 3, 6
- 9μ μ½μ: 1, 3, 9
- 곡μ½μ: 1, 3
- μ΅λ 곡μ½μ: 3
LCM (μ΅μ곡배μ, Lowest Common Multiple)
- 곡배μλ λ μ μ΄μμ μ¬λ¬ μ μ€ κ³΅ν΅λ λ°°μλ₯Ό μλ―Ένλ€.
- *λ°°μ: νλμ μμ μ μλ₯Ό κ³±ν μ μ΄λ€.
- μμ
- 12μ λ°°μ: 12, 24, 36, 48, 60, 72, 84, 96 ...
- 18μ λ°°μ: 18, 36, 54, 72, 90 ...
- μ΅μ 곡배μ: 36
GCD/LCM ꡬνλ 곡μ
- μ ν΄λ¦¬λ νΈμ λ²
- μ΅λ 곡μ½μμ κ΄λ ¨μ΄ κΉμ 곡μμ΄λ€. 2κ°μ μμ°μ aμ bκ° μμ λ, aλ₯Ό bλ‘ λλ λλ¨Έμ§λ₯Ό rμ΄λΌ νλ©΄ aμ bμ μ΅λ 곡μ½μλ bμ rμ μ΅λ 곡μ½μμ κ°λ€λ μ΄λ‘ μ΄λ€.
- bλ₯Ό rλ‘ λλ λλ¨Έμ§ r'λ₯Ό ꡬνκ³ , λ€μ rμ r'λ‘ λλλ κ³Όμ μ λ°λ³΅ν΄, λλ¨Έμ§κ° 0μ΄ λμμ λ λλλ μκ° aμ bμ μ΅λ 곡μ½μμ΄λ€.
let getGCD = (num1, num2) => {
let gcd = 1;
for (let i = 2; i <= Math.min(num1, num2); i++){
if(num1 % i === 0 && num2 % i === 0){
gdc = i;
}
}
}
/*----------------------------------------------*/
let gcd=(a,b) => {
return a%b ? gcd(b, a%b) : b
}
- μ΅λ 곡μ½μ(GCD)
- λ μ Aμ Bμ 곡ν΅λ μ½μ μ€μ κ°μ₯ ν° μ μ
- 2λΆν° min(A, B)κΉμ§ λͺ¨λ μ μλ‘ λλμ΄λ³΄λ λ°©λ²
let getGCD = (num1, num2) => {
let gcd = 1;
for (let i = 2; i <= Math.min(num1, num2); i++){
if(num1 % i === 0 && num2 % i === 0){
gdc = i;
}
}
return gcd
}
- μ΅μ 곡배μ(LCM)
- λ μ, κ·Έ μ΄μμ μ¬λ¬ μμ 곡ν΅μΈ λ°°μ μ€ κ°μ₯ μμ μ
- LCMμ 1λΆν° μμνμ¬ μ μ°¨ lcm++ νλ©΄μ κ°κ°μ λ μλ₯Ό LCMμΌλ‘ λλμμ λ λλ¨Έμ§ κ°μ΄ 0μΈ μ§λ₯Ό λΉκ΅νλ€.
- A*B/GCD
let getLCM = (num1, num2) =>{
let lcm = 1;
while(true){
if((lcm % num1 == 0) && (lcm % num2 == 0)){
break;
}
lcm++;
}
return lcm
}
λ©±μ§ν©
- μ§ν© {1, 2, 3}μ λͺ¨λ λΆλΆμ§ν©μ {}, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3} μΌλ‘ λμ΄ν μ μκ³ , μ΄ λΆλΆμ§ν©μ μ΄ κ°μλ 8κ°μ λλ€. κ·Έλ¦¬κ³ μ΄ λͺ¨λ λΆλΆμ§ν©μ ν΅νμ΄ λ©±μ§ν©μ΄λΌκ³ νλ€.
- μ΄λ€ μ§ν©μ΄ μμ λ, μ΄ μ§ν©μ λͺ¨λ λΆλΆμ§ν©μ λ©±μ§ν©μ΄λΌκ³ νλ€.
π μΆκ°λ‘ 곡λΆν λ΄μ©
Studyμκ³Ό ν¨κ» μ§νμ€μΈ νλ‘μ νΈ κ΅¬ν
- λ‘κ·ΈμΈ ν νμμ μ 보 κ°μ Έμ€κΈ°
λλ§μ ν¬νΈν΄λ¦¬μ€ μ¬μ΄νΈ ꡬν ν΄λ³΄κΈ°
- Figmaλ₯Ό μ¬μ©νμ¬ λμμΈ ν΄λ³΄κΈ°
π μ€μν λ΄μ©
- μμ΄
- μ‘°ν©
- μ΅λ곡μ½μ
- μ΅μ곡배μ
- λ©±μ§ν©
'Daily > Today I Learned' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
22.08.16_TIL (0) | 2022.08.16 |
---|---|
22.08.12_TIL (0) | 2022.08.12 |
22.08.10_TIL (0) | 2022.08.09 |
22.08.09_TIL (0) | 2022.08.09 |
22.08.08_TIL (0) | 2022.08.08 |