TIL_20.07.13 πŸƒπŸ½β€β™‚οΈπŸƒπŸ½β€β™‚οΈ

Doum KimΒ·2020λ…„ 7μ›” 13일
0

TIL

λͺ©λ‘ 보기
10/71
post-thumbnail

Codestates pre course

μžλ£Œκ΅¬μ‘°μ™€ μ•Œκ³ λ¦¬μ¦˜

Programming language : A programming language is a formal language comprising a set of instructions that produce various kinds of output. Programming languages are used in computer programming to implement algorithms.
wikipedia

μžλ£Œκ΅¬μ‘°μ™€ μ•Œκ³ λ¦¬μ¦˜μ— λŒ€ν•œ 기본적인 이해가 μžˆλ‹€λ©΄ ν”„λ‘œκ·Έλž¨ λ˜λŠ” κΈ°λŠ₯ κ΅¬ν˜„μ„ 보닀 쉽고 효율적으둜 ν•  수 μžˆλ‹€.

μžλ£Œκ΅¬μ‘°μ™€ μ•Œκ³ λ¦¬μ¦˜ 곡뢀λ₯Ό μ½”λ”©ν…ŒμŠ€νŠΈ 문제λ₯Ό ν‘Όλ‹€κ³  μƒκ°ν•˜λ©΄ μ•ˆλœλ‹€. λ”°λΌμ„œ μžλ£Œκ΅¬μ‘°μ™€ μ•Œκ³ λ¦¬μ¦˜μ„ κ³΅λΆ€ν•˜κ³  μ „λ°˜μ μΈ 이해가 μ™„λ£Œλ˜λ©΄ κ·Έ λ•Œ 문제λ₯Ό ν’€μ–΄λ³΄κΈ°λ‘œ ν•˜μž.

내일 Pre Hiring Assessmentsκ°€ μ˜ˆμ •μ΄ λ˜μ–΄μžˆλŠ”λ° 자기 진단을 ν•œλ‹€κ³  μƒκ°ν•˜κ³  μ΅œλŒ€ν•œ 레퍼런슀 도움 없이 진행을 해보고 ν…ŒμŠ€νŠΈ μ’…λ£Œ 후에 슀슀둜 ν”Όλ“œλ°±μ„ 해봐야겠닀. ν…ŒμŠ€νŠΈ νŒ¨μŠ€λ³΄λ‹€λŠ” μ–‘μ§ˆμ˜ ν”Όλ“œλ°±μ„ 얻을 수 μžˆλŠ” κΈ°νšŒκ°€ 됐으면 μ’‹κ² λ‹€.

ν…ŒμŠ€νŠΈκ°€ λλ‚˜λ©΄ μ˜ˆμ „λΆ€ν„° 읽어 보고 μ‹Άμ—ˆλ˜ 책을 읽어보렀고 ν•œλ‹€. 항상 μ˜λ¬Έμ„ κ°–λŠ” λ‚΄ μ½”λ“œκ°€ 쒋은 μ½”λ“œμΌκΉŒ..? κ·Έ 뢀뢄에 λŒ€ν•΄μ„œ κΉ¨λ‹¬μŒμ„ μ‘°κΈˆμ€ 주지 μ•Šμ„κΉŒ? 라고 μƒκ°ν•œλ‹€.

μ†Œμˆ˜ ν…ŒμŠ€νŠΈ

const isPrime = number => {
  if(number <= 1) return false;
  for(let i = 2; i < n; i++) {
    if(n % i === 0) return false; 
  }
  return true
}

μœ„ μ½”λ“œμ˜ μ‹œκ°„ λ³΅μž‘λ„λŠ” O(n)이닀. μ†Œμˆ˜μ˜ νŠΉμ§•μ„ μ‚΄νŽ΄λ³΄λ©΄ n이 μ†Œμˆ˜μΈμ§€ ν™•μΈν•˜λ €λ©΄ n의 μ œκ³±κ·ΌκΉŒμ§€λ§Œ ν™•μΈν•˜λ©΄ λœλ‹€. λ˜ν•œ λͺ¨λ“  μ†Œμˆ˜λŠ” 6kΒ±1 ν˜•νƒœμ΄λ‹€. κ·Έλ ‡λ‹€λ©΄ μ΄λŸ¬ν•œ νŠΉμ§•μ„ μ΄μš©ν•΄μ„œ μ½”λ“œλ₯Ό λ³€κ²½ν•΄λ³Ό 수 μžˆλ‹€.

const isPrime = n => {
  if (n <= 1) return false;
  if (n <= 3) return true;
  if (n % 2 === 0 || n % 3 === 0) return false;
  for (let i = 5; i * i <= n; i += 6) {
    if (n % i === 0 || n % (i + 2) === 0) return false;
  }
  return true;
};

μœ„ μ½”λ“œμ˜ μ‹œκ°„ λ³΅μž‘λ„λŠ” O(sqrt(n)) 이닀. λ³€κ²½λœ μ½”λ“œλ‘œ μ‹œκ°„ λ³΅μž‘λ„λ₯Ό μƒλ‹Ήνžˆ 쀄일 수 μžˆμ—ˆλ‹€.
μ—¬κΈ°μ„œ 그러면 nκΉŒμ§€μ˜ λͺ¨λ“  μ†Œμˆ˜λ₯Ό λ°˜ν™˜ν•˜κ³  μ‹Άλ‹€λ©΄ μ•„λž˜μ™€ 같이 μΆ”κ°€λ₯Ό ν•΄μ£Όλ©΄ λœλ‹€.

const makePrimes = n => {
  let result = [];
  for (let i = 0; i <= n; i++) {
    isPrime(i) && result.push(i);
  }
  return result;
};

console.log(makePrimes(23)); // [2, 3, 5, 7, 11, 13, 17, 19, 23]

0개의 λŒ“κΈ€