Development

[TIL] CS 공부, 코딩테스트, JavaScript

개발자 강정 2022. 1. 20. 21:01

컴퓨터 구조와 프로그래밍 독서

전자 회로의 조합 논리

비트를 처리하기 위한 하드웨어

릴레이, 진공관, 트랜지스터, 집적 회로

어느 순간부터 아무 생각 없이 최신 컴퓨터의 성능을 매일 누리며 살아가고 있다. 새삼 이 컴퓨터를 개발하기 위해 연구해왔을 수많은 사람들의 고뇌와 시행착오, 명석함에 대해 생각해봤다.

 

자바스크립트 코딩테스트

Permutation 코드 연구

https://jun-choi-4928.medium.com/javascript%EB%A1%9C-%EC%88%9C%EC%97%B4%EA%B3%BC-%EC%A1%B0%ED%95%A9-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0-21df4b536349

function getPermutation(arr, num) {
  let result = []
  if (num === 1) return arr.map((value) => [value])

  arr.forEach((fixed, index, origin) => {
    let rest = [...origin.slice(0, index), ...origin.slice(index + 1)]
    let permutation = getPermutation(rest, num - 1)
    let attached = permutation.map((x) => [fixed, ...x])
    result.push(...attached)
  })
  return result
}

forEach의 사용도 손에 익으면 유용할 것 같다.

 

JavaScript의 다양한 함수들

https://daesuni.github.io/Loop-performance/

아직 어느 상황에서 어떤 함수를 쓰는 게 적절한지 바로 떠오르지는 않는 것 같다. 계속 익숙해져야 할 것이다.

 

Git 강의

Github 사이트에서 할 수 있는 것들