Algorithms
[JS] λ°±μ€ 10841λ² : λμ΄μ μ λ ¬
Question λ°±μ€ 10841λ² : λμ΄μ μ λ ¬ μ¨λΌμΈ μ μ§μ κ°μ ν μ¬λλ€μ λμ΄μ μ΄λ¦μ΄ κ°μ ν μμλλ‘ μ£Όμ΄μ§λ€. μ΄λ, νμλ€μ λμ΄κ° μ¦κ°νλ μμΌλ‘, λμ΄κ° κ°μΌλ©΄ λ¨Όμ κ°μ ν μ¬λμ΄ μμ μ€λ μμλ‘ μ λ ¬νλ νλ‘κ·Έλ¨μ μμ±νμμ€. 10814λ²: λμ΄μ μ λ ¬ μ¨λΌμΈ μ μ§μ κ°μ ν μ¬λλ€μ λμ΄μ μ΄λ¦μ΄ κ°μ ν μμλλ‘ μ£Όμ΄μ§λ€. μ΄λ, νμλ€μ λμ΄κ° μ¦κ°νλ μμΌλ‘, λμ΄κ° κ°μΌλ©΄ λ¨Όμ κ°μ ν μ¬λμ΄ μμ μ€λ μμλ‘ μ λ ¬νλ νλ‘κ·Έλ¨μ www.acmicpc.net μ λ ₯ 첫째 μ€μ μ¨λΌμΈ μ μ§ νμμ μ Nμ΄ μ£Όμ΄μ§λ€. (1 ≤ N ≤ 100,000) λμ§Έ μ€λΆν° Nκ°μ μ€μλ κ° νμμ λμ΄μ μ΄λ¦μ΄ 곡백μΌλ‘ ꡬλΆλμ΄ μ£Όμ΄μ§λ€. λμ΄λ 1λ³΄λ€ ν¬κ±°λ κ°μΌλ©°, 200λ³΄λ€ μκ±°λ κ°μ μ μ..
[JS] νλ‘κ·Έλλ¨Έμ€ : μ μΌ μμ μ μ κ±°νκΈ°
Question μ μλ₯Ό μ μ₯ν λ°°μ΄, arrμμ κ°μ₯ μμ μλ₯Ό μ κ±°ν λ°°μ΄μ 리ν΄νλ ν¨μ, solutionμ μμ±ν΄μ£ΌμΈμ. λ¨, 리ν΄νλ €λ λ°°μ΄μ΄ λΉ λ°°μ΄μΈ κ²½μ°μ λ°°μ΄μ -1μ μ±μ 리ν΄νμΈμ. μλ₯Ό λ€μ΄ arrμ΄ [4,3,2,1]μΈ κ²½μ°λ [4,3,2]λ₯Ό 리ν΄νκ³ , [10] λ©΄ [-1]μ λ¦¬ν΄ ν©λλ€. μ½λ©ν μ€νΈ μ°μ΅ - μ μΌ μμ μ μ κ±°νκΈ° μ μλ₯Ό μ μ₯ν λ°°μ΄, arr μμ κ°μ₯ μμ μλ₯Ό μ κ±°ν λ°°μ΄μ 리ν΄νλ ν¨μ, solutionμ μμ±ν΄μ£ΌμΈμ. λ¨, 리ν΄νλ €λ λ°°μ΄μ΄ λΉ λ°°μ΄μΈ κ²½μ°μ λ°°μ΄μ -1μ μ±μ 리ν΄νμΈμ. μλ₯Όλ€μ΄ arrμ΄ [4,3,2,1 programmers.co.kr μ ν 쑰건 arrμ κΈΈμ΄ 1 μ΄μμΈ λ°°μ΄μ λλ€. μΈλ±μ€ i, jμ λν΄ i ≠ jμ΄λ©΄ arr[i] ≠ ar..
[μκ³ λ¦¬μ¦ κΈ°λ³Έ] μμ νμ (λΈλ£¨νΈ ν¬μ€ Brute Force)
μμ νμ, λΈλ£¨νΈ ν¬μ€(Brute Force) Brute Force μ§μνλ©΄ μ§μΉκ°μ ν, 무μν νμ΄λΌλ λ»μ΄λ€. μμ νμμ΄λΌλ μ΄λ¦μμλ μ μ μλ―μ΄ νλλΆν° μ΄κΉμ§ λͺ¨λ κ²½μ°λ₯Ό λ€ νμνλ μκ³ λ¦¬μ¦μ΄λ€. λͺ¨λ κ²½μ°λ₯Ό νμνλ λΉμ°ν μ λ΅μ μ°Ύμ μ μλ€. μμ νμ μμ 3μλ¦¬λ‘ κ΅¬μ±λ μλ¬Όμ μ λΉλ°λ²νΈλ₯Ό μ°ΎκΈ° μν΄ 000 ~ 999κΉμ§ λͺ¨λ κ²½μ°μ μλ₯Ό μ λ ₯ν΄λ³΄λ κ²μ μκ°νλ©΄ μ΄ν΄νκΈ° μ½λ€. 999κΉμ§ μ λ ₯ν κ²μ μκ°νλ©΄ λ²μ¨λΆν° λͺΈμ΄μ΄ λλ€. μλ? λλ½κ² μ€λ 걸리기 λλ¬Έμ΄λ€. (This is κ²½νλ΄) μ¬κΈ°μ μμ νμ μκ³ λ¦¬μ¦μ μ₯μ κ³Ό λ¨μ μ μ μ μλ€. μμ νμ μ₯μ & λ¨μ μ₯μ λͺ¨λ κ²½μ°λ₯Ό λ€ κ³ λ €νκΈ° λλ¬Έμ νμ€ν μ λ΅μ μ°Ύμ μ μλ€. 볡μ‘ν μκ³ λ¦¬μ¦ μμ΄ λΉ λ₯΄κ² ꡬνμ΄ κ°λ₯..
[JS] λ°±μ€ 1931 λ² : νμμ€ λ°°μ (feat.그리λ μκ³ λ¦¬μ¦)
Question λ°±μ€ 1931λ² : νμμ€ λ°°μ ν κ°μ νμμ€μ΄ μλλ° μ΄λ₯Ό μ¬μ©νκ³ μ νλ Nκ°μ νμμ λνμ¬ νμμ€ μ¬μ©νλ₯Ό λ§λ€λ €κ³ νλ€. κ° νμ Iμ λν΄ μμμκ°κ³Ό λλλ μκ°μ΄ μ£Όμ΄μ Έ μκ³ , κ° νμκ° κ²ΉμΉμ§ μκ² νλ©΄μ νμμ€μ μ¬μ©ν μ μλ νμμ μ΅λ κ°μλ₯Ό μ°Ύμ보μ. λ¨, νμλ νλ² μμνλ©΄ μ€κ°μ μ€λ¨λ μ μμΌλ©° ν νμκ° λλλ κ²κ³Ό λμμ λ€μ νμκ° μμλ μ μλ€. νμμ μμμκ°κ³Ό λλλ μκ°μ΄ κ°μ μλ μλ€. μ΄ κ²½μ°μλ μμνμλ§μ λλλ κ²μΌλ‘ μκ°νλ©΄ λλ€. 1931λ²: νμμ€ λ°°μ (1,4), (5,7), (8,11), (12,14) λ₯Ό μ΄μ©ν μ μλ€. www.acmicpc.net μ λ ₯ 첫째 μ€μ νμμ μ N(1 ≤ N ≤ 100,000)μ΄ μ£Όμ΄μ§λ€...
[JS] νλ‘κ·Έλλ¨Έμ€ : μμ°μ λ€μ§μ΄ λ°°μ΄λ‘ λ§λ€κΈ°
Question μμ°μ nμ λ€μ§μ΄ κ° μ리 μ«μλ₯Ό μμλ‘ κ°μ§λ λ°°μ΄ ννλ‘ λ¦¬ν΄ν΄μ£ΌμΈμ. μλ₯Ό λ€μ΄ nμ΄ 12345μ΄λ©΄ [5,4,3,2,1]μ 리ν΄ν©λλ€. μ½λ©ν μ€νΈ μ°μ΅ - μμ°μ λ€μ§μ΄ λ°°μ΄λ‘ λ§λ€κΈ° μμ°μ nμ λ€μ§μ΄ κ° μ리 μ«μλ₯Ό μμλ‘ κ°μ§λ λ°°μ΄ ννλ‘ λ¦¬ν΄ν΄μ£ΌμΈμ. μλ₯Όλ€μ΄ nμ΄ 12345μ΄λ©΄ [5,4,3,2,1]μ 리ν΄ν©λλ€. μ ν 쑰건 nμ 10,000,000,000μ΄νμΈ μμ°μμ λλ€. μ μΆλ ₯ μ n return 12345 programmers.co.kr μ ν쑰건 nμ 10,000,000,000μ΄νμΈ μμ°μμ λλ€. μ μΆλ ₯ μμ My Code function solution(n) { return String(n).split('').map(Number).reverse(); } HOW? ..
[μκ³ λ¦¬μ¦ κΈ°λ³Έ] νμ(Greedy) μκ³ λ¦¬μ¦
1. νμ μκ³ λ¦¬μ¦ (Greedy Algorithms) νμ(Greedy)μ λ§ κ·Έλλ‘ μ§λμΉκ² μμ¬μ΄ λ§λ€λ λ»μ΄λ€. κ·Έλ λ€λ©΄ νμμκ³ λ¦¬μ¦μ 무μμΌκΉ? λ―Έλλ₯Ό μκ°νμ§ μκ³ νμ¬μ λ¨κ³μμ κ°μ₯ μ΅μ μ μ νμ νλ κ²μ νμμκ³ λ¦¬μ¦μ΄λΌκ³ νλ€. λμ νλ‘κ·Έλλ°μ κ°λ¨ν νλ‘κ·Έλλ°μ μ¬μ© μ λ§μ λ¨κ³λ₯Ό κ±°μ³ μ¬μ©λΌ λΉν¨μ¨μ μ΄λ€. (λμ νλ‘κ·Έλλ° : κ²½μ°μ μλ₯Ό λͺ¨λ κ²ν ν΄ μ νμμ ν΅ν΄ ꡬμ±) λμ νλ‘κ·Έλλ°μ λ체νλ κ²μ μλκ³ λμ νλ‘κ·Έλλ°κ³Ό κ°μ΄ μν©μ λ§κ² μ°μ΄λ κ²μ΄ νμμκ³ λ¦¬μ¦μ΄λ€. 2. νμμκ³ λ¦¬μ¦μ μ±λ¦½ 쑰건 νμμ μ ν μμ±(Greedy Choice Property) : νμμ μ νμ΄ μ 체 λ¬Έμ μ μ΅μ ν΄λ₯Ό ꡬν μ μλ€ , μμ μ νμ΄ λ€μ μ νμ μν₯μ μ£Όμ§ μλλ€. μ΅μ λΆλΆ ꡬ쑰(O..
[JS] νλ‘κ·Έλλ¨Έμ€ : μ΄μν λ¬Έμ λ§λ€κΈ°
Question μ μΆλ ₯ μμ μ μΆλ ₯ μμ μ€λͺ "try hello world"λ μΈ λ¨μ΄ "try", "hello", "world"λ‘ κ΅¬μ±λμ΄ μμ΅λλ€. κ° λ¨μ΄μ μ§μλ²μ§Έ λ¬Έμλ₯Ό λλ¬Έμλ‘, νμλ²μ§Έ λ¬Έμλ₯Ό μλ¬Έμλ‘ λ°κΎΈλ©΄ "TrY", "HeLlO", "WoRlD"μ λλ€. λ°λΌμ "TrY HeLlO WoRlD" λ₯Ό 리ν΄ν©λλ€. My Code λ΄κ° νκ³ μΆμλ λ°©λ² (μ€ν¨ π€·βοΈ but! μ»μ κ±° μμ π) mapμ μ΄μ©ν΄μ μ§μλ²μ§Έ μλ€μ λλ¬Έμλ‘ λ§λ€κ³ joinμΌλ‘ λ¬Άμ΄μ€ λ€μμ μ΅μ’ μ μΌλ‘ μΆλ ₯νκ³ μΆμμΌλ μ§μλ²μ§Έμ κΈμκ° λλ¬Έμλ‘ λ³νμ΄ μλΌκ³ undefinedκ° λ¬λ€! μλλ mapμ μ΄μ©νλ μ½λμ΄λ€. function solution(s) { var answer = ''; let strArr =..
[JS] νλ‘κ·Έλλ¨Έμ€ : 체μ‘볡
Question μ μΆλ ₯ μμ μ μΆλ ₯ μμ μ€λͺ μμ #1 1λ² νμμ΄ 2λ² νμμκ² μ²΄μ‘볡μ λΉλ €μ£Όκ³ , 3λ² νμμ΄λ 5λ² νμμ΄ 4λ² νμμκ² μ²΄μ‘볡μ λΉλ €μ£Όλ©΄ νμ 5λͺ μ΄ μ²΄μ‘μμ μ λ€μ μ μμ΅λλ€. μμ #2 3λ² νμμ΄ 2λ² νμμ΄λ 4λ² νμμκ² μ²΄μ‘볡μ λΉλ €μ£Όλ©΄ νμ 4λͺ μ΄ μ²΄μ‘μμ μ λ€μ μ μμ΅λλ€. My Code μ°Έκ³ : μ½λμ μ§νκ³Όμ μ λ³Ό μ μλ€ π μ½λ μ€ννμ λ ν΅κ³Όνμ§λ§ ν μ€νΈ μΌμ΄μ€μ κ±Έλ € μ€ν¨ν μ½λμ΄λ€. function solution(n, lost, reserve) { let lostLength = lost.length; let answer = n - lostLength; let arr = []; for (let i = 0 ; i < lostLength ; i ++)..