문제 : https://www.acmicpc.net/problem/2630 경우의 수는 N, N/2, N/4 ... 로 가면서 N/a === 1 까지. 큰것부터 비교해서 점점 작게 비교한다. 전체 data와 N/a (==size)를 `checkColor` 함수가 넘겨 받는다. n _ n 을 돌면서, size _ size 만큼 체크하고, data 끝까지 수행한다.
[알고리즘-JS] 프로그래머스: 위장
아이디어를 통해 구현.
`입지않는 경우 + 1`을 해줘서 경우의수를 구해준다. `하나도 입지 않는 경우`는 불가능 하므로 `-1` 해준다.
이 문제가 왜 해시인가? 딕셔너리 아닌가? 했었는데, 해시맵 === 딕셔너리 였다. 같은 자료구조인데 여러가지로 불리는...
[알고리즘-JS] 프로그래머스: 네트워크
bfs 문제.
bfs에서 최단거리를 구할 필요는 없고, 지나간 모든 경로를 visited에 담아서 반환하면 이걸 하나의 네트워크라고 생각한다.
각각의 컴퓨터가 root일때 네트워크를 구하고 겹치지 않는 네트워크의 개수를 구해주면 된다.
[알고리즘-JS] 프로그래머스: 영어 끝말잇기
단순 구현 문제
words를 돌면서 조건에 맞는것 리턴 해주면 된다.
[번호, 차례]를 잘 출력하는게 살짝 까다로움.
차례는 항상 올림으로 해주면 맞게 된다.
[알고리즘-JS] 프로그래머스: 크레인 인형뽑기 게임
구현 문제.
moves는 board의 x축에 접근하는데,
이걸 result stack에 넣고,
stack에 넣을때 맨 뒤에꺼가 현재 넣는것과 동일하면 pop으로 삭제해줌.
[알고리즘-JS] 프로그래머스: 튜플
아이디어 & 구현.
집합 길이에 따라서 가장 작은게 맨 앞이고
그 다음 길이에 추가된게 다음꺼
이런식으로 result 채우면 될듯 하다.