TIL#11 22.11.28

Han Lee·2022년 11월 28일
0

TIL

목록 보기
4/43

변수를 선언 할 때 크게 생각을 가지고 있지 않았다.

console.log(score)
score =80
var score
console.log(score)

위에 코드를 보고 출력값을 예상했을 때 에러가 날거라고 생각을 했는데 결과는 undefined, 80 으로 나왔다. 구글링 해본결과 자바스크립트는 변수선언을 실행전에 소스코드 평가 과정을 거친다고 한다. 이때 변수선언이 어디에 있늗 상관없이 다른 코드보다 먼저 실행한다고 한다.
또 먼저 사용된 상황을 호이스팅이라고 부른다고 적혀있었다. 사실 지금까지 변수를 선언하고 관련해서 밑에 쓰고 하다보니 크게 생각을 안하고 있었지만 더 코드가 길어지고 복잡해지면 관련 오류가 날 것 같다/

``으로 감싸지는 문자열을 템플릿 리터럴이라고 부른다.

삽입 정렬 - 주목한 원소보다 더 앞쪽에서 알맞은 위치로 삽입하며 정렬
-> 맨앞 index0번이 정렬되었다 정하고 그 앞으로 알맞게 정렬시키는
[4, 6, 2, 9, 1]를 선택 정렬 한다면
4는 이미 정렬되었음 6과4를 비교 그대로 둔다.
-> 4,6은 정렬됨 2를 6과 비교 426 4와2를 비교 246
-> 24691 9와 6을 비교 그대로
->24691 1을 9,6,4,2와 순서대로 비교 1,2,4,6,9로 정렬

반복문에서 범위는 어떻게 해야 할까? -> range(1,n) = 1,2,3,4 4번 반복해야 하지만 0부터가 아닌 1부터이기에

for i in range(1,n):

두번째 비교군 반복문 범위는 -> i만큼 반복하면 된다.

for j in range(i):

비교할 범위 i-j는 현재 주목한 원소 -1하면 그 전 원소

if array[i-j-1] > array[i-j]:

for문과 while문의 차이

  • for문은 새로운 변수를 만들어내고 while문은 변수를 생성하지 않는다.
  • for은 정해진 값,길이를 반복할때, while은 몇번 실행할지 모를때

알고리즘 내가 한 정리

https://velog.io/@dlgksruf098/자료구조-2
https://velog.io/@dlgksruf098/자료구조3-해쉬

profile
렌덤형 인간

0개의 댓글