코딩테스트를 풀 때 우리는 최대한 시간복잡도 면에서 n^2은 지양해야 할 부분이 많다. 그저 어쩌다 풀다보면 중첩 for문을 돌리고 있는 우리를 볼 수 있다. 이때 O(N)의 시간복잡도로 풀 수 있는 다양한 매커니즘이 있는데 이를 소개하고자 한다.1\. 해당 함수에는
출처 : https://school.programmers.co.kr/learn/courses/30/lessons/118667 1차 코딩 >
문제출처 : https://school.programmers.co.kr/learn/courses/30/lessons/118666?language=javascript 1차작성 코드 > function solution(survey, choices) { let sc
1차 작성코드다른 사람의 풀이총평 : 아직 프로그래머스에서는 at과 같은 자바스크립트 기능을 쓰지 못하는 점을 유의하자변수명을 길게 설정하지 말자. 여긴 코딩테스트다. 예쁜 이름이 필요하지 않다. 한 글자로 설정해보자.sort 함수를 쓰는 방법을 기억하자. 사실상 에러
말만 어려울 뿐이지 사실 이진탐색이라는 말은 2개로 쪼개서 검색하겠다는 얘기이다. 하지만 필요조건이 있다.데이터는 "정렬"되어 있어야 한다.데이터가 정렬되지 않은 상태에서는 이진탐색이 의미가 없다...가령 1,5,3,64,6,8,3,12 의 배열을 생각해보자.이진탐색은
피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다.이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다.n=17일때 까지 피보나치 수를 써보면
반년만에 돌아온 알고리즘 공부
쉬워보이지만 까다로운 친구
조금 애를 먹은 친구
action object에 대해 배워갈 수 있던 날
스택 아닌 스택
오랜만에 다시 푸는 JS QUEUE
화가 아득바득 나는 BigInt 체험기