알고리즘 +7

윤건호·2022년 9월 30일
0

알고리즘

목록 보기
7/23

Sort

let product =[[6,3], [6,1], [10,3], [2,5]]

a,b 비교 더 작은걸 앞에 써주기 (오름차순)

product.sort((a, b) => a[0] + a[1] - (b[0] + b[1]));

헷갈리는 부분은 항상 a[0] 인덱스 식으로 써주기 때문에

어지러웠지만 사실 a[0] = 1이고 , a[1] = 2 라면

1 + 2 가 되는거다.

그래서 b의 각 인덱스의 값을 더해 a - b를 해준다.

sort에서의 a-b는 오름차순, b-a는 내림차순이다.

이중포문 / 완전 탐색 맛 보기

for(let i = 0; i < arr.length; i++) {

for(let j = 0; i < arr.length; i++) { 
// 이중포문으로 i j 포문이 같은 일을 수행할 것 같지만,
// 차별점을 두고 보면 좋을 것 같다. 
// 각각의 인덱스 번호만 가져다 쓴다고 보는게
// 가장 멀리볼 수 있는 구조이고 헷갈리지도 않는 것 같다.

}

}

완전 탐색 초입에 가장 헷갈렸던 부분
: 중첩으로 포문을 사용했을 때의 경우의 수를 내 머릿속으로 다 계산하려하지 말자

결국 완전 탐색을 해서 그에 적합한 상황 일부를 찾아내는거고 ,

완전 탐색 자체가 컴퓨터의 빠른 연산을 이용해서 무식하게 다 찾아보는 방법이라서

그걸 내 머릿속으로 또 계산하고 상황상황을 알고 있으려는건 늪에 빠지는 생각이다.

검색해보니 브루탈 포스만을 이용해서 정답을 구하는 코딩 테스트 문제는 드물고,
어떤 과정으로 가기 전 값을 구할 때?
등 필요한 상황에 일부 적용하는 느낌으로 나오는 것 같다.

문제를 보고 어떤 부분에서 완전 탐색이 필요한지를 아는게 중요하다.
이건 많이 풀다보면 알게 될거같다.

profile
더 배우고 싶은 프론트엔드 개발자 윤건호입니다.

0개의 댓글