다른 언어와 다르게 자바스크립트에서 문자열은 원시자료형이다. 원시자료형은 immutable value으로 메모리에 저장된 값이 변경되지 않는다는 의미이다.위와같이 변수 word를 선언했을때, word는 메모리에 저장된 'hello'를 가리킨다. 그러나, '안녕하세요'를
알고리즘 문제를 풀때는 변수에 값을 적절히 할당하는 것이 중요하다. 이때 변수 '의미있는' 이름을 선언하면 직관적으로 이해하는데 도움이 된다. 문자열을 입력받아 해당 문자열에 등장하는 두 칸의 공백을 모두 한 칸의 공백으로 바꾼 문자열을 리턴해야 합니다.
피보나치 수열 구하는 방법
자료구조 그래프에 대한 이해
두개의 배열을 입력받아 두번째 배열이 첫번째 배열의 부분집합인지를 확인한다.
BFS와 DFS 개념
양수와 음수, 0 등을 요소로 가지는 배열에서 세 개 요소의 곱의 최대값 구하기
자료구조 queue 이해하기
트리 자료구조 이해하기
시간복잡도 Big-O(빅-오) 로 표현하기
배열의 모든 요소를 방문하는 선형 탐색과 정렬된 배열의 절반씩만 탐색하는 이진탐색
순열, 중복순열, 조합을 이해하고 문제 풀어보기
binary heap 중 max heap을 구현하는 함수
dfs를 사용해 섬의 개수 구하기
프로그래머스 소수 만들기
greedy 알고리즘
greedy 알고리즘
split, join 메소드 활용
큰 값과 작은 값을 따로 저장해 각각의 최댓값을 곱한다
탐욕법(greedy)
반복문 대신 사용을 줄일 수 있는 메소드 reduce
양의 정수 num의 제곱근이 정수이면 num의 약수는 홀수개이다.
for반복문 대신 split 사용해서 문자열을 배열에 저장하기
filter(element, [,index [,array]][,thisArg])
sort, localeCompare, replace 함수 이해하고 활용하기
Math.min, Math.max, 가우스 공식 활용하기
string.prototype.replace 메소드와 문자열의 read-only 속성 이해하기
map 메소드 활용하기
2,3,5로 나누어떨어지는 n번째 수 구하기
repeat 메소드 활용하기
indexOf, findindex, find 메소드 비교
배열의 좌표를 구해 각각의 거리를 계산해 비교한다
toString(문자열, 진법), parseInt(진법) 활용하기
덧셈을 곱셈으로 바꾸어 생각하기
reduce의 콜백함수 세번째 인자 index 활용하기
new Set로 중복제거한 객체 리턴하기
자바스크립트에서 객체를 사용해 시간 복잡도 낮추기
문자열 내 p와 y의 개수에 따라 boolean 리턴하기
이중반복문과 2차원 배열
오름차순로 정렬하기
효율성을 고려해 소수찾기
sort의 원리 정리하기
다트게임 합계 구하기
오름차순 정렬 후 반복문으로 조건 확인하기
padStart, Bitwise OR, 정규표현식 등을 활용한 풀이
정규표현식 정리하기
자바스크립트 객체를 사용해 효율적으로 문제 해결하기
정렬
정렬
완전탐색
완전탐색
DFS
stack/queue
Stack/queue
stack/queue
3진법 응용
탐욕 알고리즘은 여러 경우 중 하나를 결정해야할때마다 그 순간에 최적인 것을 선택해나가는 방식으로 최종적인 해답에 도달한다.
greedy
greedy, two pointer
2022 카카오 블라인드 채용
목표지점까지 도달하는 최단시간
2019 카카오 블라인드 채용
reduce, splice
MySQL 조건문
프로그래머스 레벨 3 MySQL 문제풀이