목록코딩테스트 (78)
seunghyun Note
단일 연결 리스트 이중 연결 리스트 스택 & 큐 (배열로 하는 방법은 숙지했음! linked list로 구현해 보기) 이진 검색 트리 트리 순회 이진 힙 해시 테이블 (사용해 봤지만 복습) 그래프, 그래프 순회 다익스트라 알고리즘 동적 프로그래밍 이중 연결리스트를 왜 사용하는지 몰랐는데.. 최근에 풀었던 덱 문제를 풀면서 시간복잡도가 커짐을 느끼고 이중 연결리스트를 사용해서 문제를 해결했던 기억이 있다. 이중 연결리스트는 일반 연결리스트와 달리 prev, next가 생긴 것이다. 조금 더 복잡해졌지만 그만큼 효율이 좋은 거 같다. Class Setting 기본 세팅은 Linked List와 비슷하지만 추가되는 것이 있다. class Node{ constructor(val){ this.val = val; ..
링크 : https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 문제 풀이 링크드리스트 공부를 하다가 이 문제를 보니 또 링크드리스트로 풀어야 하나..? 생각이 들었지만 아니었다. 배열을 사용해서 풀 수도 있다. cnt를 넣어주고 cnt가 같을 때 ans에 Push, 아니면 arr에 push 해서 저장할 곳을 두 곳에 둔다. const filePath = process.platform === "linux" ? "/dev/stdin" : "예제.txt"; let [N, K] = require("fs").readFileSync(filePa..
링크 : https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 문제 풀이 baejoon에서 저번과 같이 배열로 사용하다가 또 시간초과로 실패했다. (메모리의 크기가 상관없다면 간단하게 이렇게 풀어보는것도 좋을거 같다. -> 백준에서는 안풀림) const fs = require("fs"); const [n] = fs.readFileSync("/dev/stdin").toString().trim().split("\n"); //const [n] = fs.r..
링크 : 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..
코딩테스트를 공부하면서 프로그래머스 lv0~lv1 쉬운 버전들, 백준 실버 5 까지는 풀어도 linked list, stack & queue, tree 등 다양한 자료구조와 알고리즘 문제들이 나오면 과거에 배웠던 것을 망각하고 문제를 거부하게 되는 거 같다. 괜히 JS를 사용한다고 특별히 다른 것들도 아닌데 못쓰는 것을 보면 개념이 부족하다는 것을 느끼고 과거에 들었던 강의를 복습하며.. 알고리즘 학습을 다시 하게 됐다! 당분간 공부할 것들을 정리해보면... 단일 연결 리스트 이중 연결 리스트 스택 & 큐 (배열로 하는 방법은 숙지했음! linked list로 구현해 보기) 이진 검색 트리 트리 순회 이진 힙 해시 테이블 (사용해 봤지만 복습) 그래프, 그래프 순회 다익스트라 알고리즘 동적 프로그래밍 할..
링크 : 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..