1.O(N^2)의 이중 for문 또는 for문 + while문 혼합 사용의 경우
데이터를 처리하는 순서에 따라서 stack을 사용해 O(N)으로 처리할 수 있다.

문제를 해결할 때 처음 떠오른 생각으로 무작정 밀어붙이기보다는
이 문제 해결 방식으로 나올 수 있는 복잡도를 생각해보고
복잡도가 높거나 구현이 지나치게 복잡해질 경우
문제를 해결할 수 있는 다른 방법을 떠올려보는 것이 좋다.
(대응책이 없을 경우 어쩔 수 없지만 해결이 되지 않고 있는 경우 한번씩 생각해보자)


2.TypeScript와 JavaScript의 작동 방식의 차이점은
런타임과 컴파일러라고 볼 수 있다.

런타임은 자바스크립트 코드가 실행되는 과정이고
사실 자바스크립트에서도 컴파일을 진행하기는 하지만
문맥상 인터프리터 언어로 분류된다.

하지만 타입스크립트의 경우는
작성된 코드를 자바스크립트로 변경하는 컴파일 과정이 존재하며
컴파일 과정 도중 타입 체커를 통해 타입 에러를 감지할 수 있다.

반대로 타입스크립트는 런타임까지 진행되지 않기 때문에
런타임에 들어오는 데이터에 대한 타입을 방지하기 위해 타입가드를 사용하는 등
런타임 이전에 문제를 방지하는 방식을 사용한다.
(에러처리를 해서 잘못된 데이터가 와도 의도된 동작을 한다는 의미)



(1).백준 2523 별찍기 - 13은 이전 별찍기와 큰 차이를 느낄 수 없었다.
오름차순으로 목표치까지 repeat을 사용해 추가하고
다시 목표치보다 1 작은 상태에서 내림차순에 repeat을 사용해 해결했다.

let input = 3

let result = []

for(let i = 1 ; i <= input ; i++){
    result.push('*'.repeat(i))
}
for(let i = input-1 ; i > 0 ; i--){
    result.push('*'.repeat(i))
}

console.log(result.join('\n'))

'회고' 카테고리의 다른 글

[취업준비일지] - 99  (0) 2023.01.27
[취업준비일지] - 98  (0) 2023.01.26
[취업준비일지] - 96  (0) 2023.01.24
[취업준비일지] - 95  (0) 2023.01.23
[취업준비일지] - 94  (0) 2023.01.22

+ Recent posts