목록js (66)
seunghyun Note
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/JfMxs/btsDQ7fVTqR/a2bmzLAdNchTgnioklL2f1/img.png)
링크 : https://www.acmicpc.net/problem/18258 18258번: 큐 2 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 문제 풀이 링크드리스트를 공부하고 큐 문제를 해결하려고 했다. 결국 문제를 해결했지만 정말 문제가 더티하다.... 이 문제는 아래의 순서로 공부를 하면 풀 수 있었다. 1. linked list를 아는가? 2024.01.23 - [코딩테스트/코테를 위한 알고리즘 & 자료구조 정리] - Singly Linked Lists with JS Singly Linked Li..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/DRceP/btsDSqsEJot/zEdVOFCnOdWdgAtXctdfw1/img.jpg)
코딩테스트를 공부하면서 프로그래머스 lv0~lv1 쉬운 버전들, 백준 실버 5 까지는 풀어도 linked list, stack & queue, tree 등 다양한 자료구조와 알고리즘 문제들이 나오면 과거에 배웠던 것을 망각하고 문제를 거부하게 되는 거 같다. 괜히 JS를 사용한다고 특별히 다른 것들도 아닌데 못쓰는 것을 보면 개념이 부족하다는 것을 느끼고 과거에 들었던 강의를 복습하며.. 알고리즘 학습을 다시 하게 됐다! 당분간 공부할 것들을 정리해보면... 단일 연결 리스트 이중 연결 리스트 스택 & 큐 (배열로 하는 방법은 숙지했음! linked list로 구현해 보기) 이진 검색 트리 트리 순회 이진 힙 해시 테이블 (사용해 봤지만 복습) 그래프, 그래프 순회 다익스트라 알고리즘 동적 프로그래밍 할..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cB24hq/btsDLKMe3ew/XYQE8uyuKYEJ984JGsEkr0/img.png)
링크 : https://school.programmers.co.kr/learn/courses/30/lessons/181844?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 차집합을 이용해서 문제를 해결하자 참고 :https://stackoverflow.com/questions/1187518/how-to-get-the-difference-between-two-arrays-in-javascript How to get the difference between two arrays in JavaScript? Is th..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/evhcfi/btsDC8SKj0o/P9G6MYucBEkvkKPWl3Lip0/img.png)
링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 스택과 큐유형이어서 어려울 거 같아서 걱정했지만 로직만 이해하면 간단했다. O(n^2)이 되고 싶지 않아 최대한 O(n)이 될 수 있는 방법을 생각했다. 그래서 표를 그리면서 언제 push를 할까...? 고민을 많이 했다. 안 좋은 코드라고 생각했지만 그래도 다른 사람들의 코드와 비교했을 때 깔끔했던 거 같다. 📌 새로운 배열을 정의해야 한다. 1-1 progresses배열은 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b93acR/btsDCTgW7Zz/icqqktHPZhBKt6SiSi0CiK/img.png)
링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 고득점 키트에 해시가 있어서 문제를 해결해보려고 했다. 1. 해시를 담을 테이블을 생성한다. 2. phone_book의 배열값(문자열)을 index에 넣고 true로 값을 채운다. 3. 다시 문자열 배열을 순회시키면서 slice를 통해 [1,2,3] 이면 [1] , [1,2]까지만 pre로 넣어서 테이블에 있다면 return false를 하고 최종적으로 없으면 return tr..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/oPQCD/btsDwCtbjuB/1SzYxTWErDKvIgbCwz23QK/img.png)
링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42578 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 object를 사용한다. object를 사용해 일단 중복된 값들이 있으면 +1을 해준다. index값에 옷의 종류를 넣고 값에 이름이 아닌 같은 이름을 값을 카운트 해서 넣어준다. 넣었다면 경우의 수를 곱해준다. 마지막으로 전부 입지 않았을 때를 -1을 해서 return 해준다. function solution(clothes) { let dir = {}; let result =..