
문제 링크입니다 : https://programmers.co.kr/learn/courses/30/lessons/42746?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에 어떻게 접근해야할지 고민이 많이 됐다. 경우의 수를 다 나누자니 너무 어렵고 해서.. 구글신에게 답을 구했다. 그 중에서 비교할 때, 문자열로 바꿔서 더해봐서 값이 더 큰 쪽으로 정렬되게 하는 방법이 가장 효율적으로 보였다. 그리고 배열로 전부 0, 0, 0, 0, 0, 0, 0, 0, 0, 0이렇게 들어온 경우 "0000000000"이 아닌 그냥..

문제 링크입니다 : https://programmers.co.kr/learn/courses/30/lessons/42578?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 한번이라도 들어온 옷 종류를 배열로 일일이 저장해서 매번 순회를 하게 되면 한번 순회 할 때마다, O(N)이 걸리고 전체 시간 복잡도는 O(N^2)이 된다. 순서는 상관없고 있는지 없는지만 판단하고 싶으면 map과 set 자료구조가 한번 탐색에 O(lgN)이 가능하다 따라서 전체 시간복잡도를 O(NlgN)으로 줄일 수 있다. function solutio..

문제 링크입니다 : https://programmers.co.kr/learn/courses/30/lessons/49993?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 쉽게 생각하면 skill_trees의 각 문자열의 글자별로 탐색하면서, 매번 skill을 탐색하면 될 것 같습니다. 하지만 이렇게 하면 문자열 1개당 시간복잡도가 O(N^2)이 되서 전체 O(N^3)이 됩니다. 특정 영역에 데이터가 있는지 없는지 판단하고 싶을 때는 Map이나 Set을 사용하는게 시간을 O(lgN)으로 줄일 수 있습니다. 하지만 비교하면서..

문제 링크입니다 : https://programmers.co.kr/learn/courses/30/lessons/42585?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 자바스크립트는 배열에 기능이 많아서 배열만으로도 충분히 큐, 스택 기능들을 사용할 수 있는 것 같다. 그림을 보면 왼쪽 괄호 "(" 가 추가 될 수록 판때기 쌓아지는 걸 쌓아지는 걸 볼 수가 있다. 그래서 왼쪽 괄호 "(" 가 생길 때마다 스택에 추가해준다. 오른쪽 괄호 ")"는 판때기가 끝나는 부분을 의미한다. 그래서 스택을 팝하면서, cnt를 하나 늘..

문제 링크입니다 : https://programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 고등학생 때 생각이 나는 문제였다. 체육복 훔쳐가는 놈들.. ㅂㄷㅂㄷ 문제 유형은 탐욕법인데, 나는 그냥 완전 탐색을 했다. 과정은 재귀적으로 구현했고, 자바스크립트가 익숙하지 않아서.. 좀 엉망이다. function getCnt(student, index, cnt) { if(index == student.length) { return cnt; } if(student[index] === 0..