Algorithm/Programmers

Algorithm/Programmers

[알고리즘/프로그래머스/고득점Kit] 정렬(JS)(K번째수, 가장 큰 수, H-Index)

문제: K번째 수 https://school.programmers.co.kr/learn/courses/30/lessons/42748?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 function solution(array, commands) { // (i-1)부터 j까지 자르고 정렬 -> k번째 숫자 return commands.map(([i, j, k]) => array.slice(i-1, j).sort((a, b) => a - b)[k-1]) } 문제: 가장 큰 수 https://school.programmer..

Algorithm/Programmers

[알고리즘/프로그래머스/고득점Kit] 해시(JS)브라운 먹고싶다/..(폰켓몬, 완주하지 못한 선수, 의상, 전화번호 목록, 베스트 앨범)

문제 : 폰켓몬 https://school.programmers.co.kr/learn/courses/30/lessons/1845?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 function solution(nums) { // 종류(Set.size)와 nums.length/2 를 비교 // 종류가 더 많거나 같으면 길이 리턴, 아니면 종류 리턴. const types = new Set(nums).size const len = nums.length/2 return len = 0) { completion.splice(..

Algorithm/Programmers

[알고리즘/프로그래머스/고득점 Kit] 프로세스(JS)

문제 https://github.com/tony9402/baekjoon GitHub - tony9402/baekjoon: 코딩테스트 대비 문제집(Baekjoon Online Judge) 코딩테스트 대비 문제집(Baekjoon Online Judge). Contribute to tony9402/baekjoon development by creating an account on GitHub. github.com 풀이 1. [순서, 우선순위] 큐를 만든다. 2. tasks를 앞에서부터 하나씩 꺼내서 확인한다. 우선순위가 가장 높은 경우 실행 순서인 order를 1 증가시킨다. 이때 만약 순서(idx)가 찾고자 하는 location이라면 order를 반환한다. 아니라면 다시 우선순위 최댓값을 남은 큐에서 찾는다..

Algorithm/Programmers

[알고리즘/프로그래머스/고득점 Kit] 올바른 괄호(JS)

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12909?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 이전에는 큐로 풀었었는데 카카오 문제 풀고 나서 다른 방법도 알게 되었다. '('면 1, ')' 면 -1을 더해서 음수가 되는 경우 올바른 괄호가 아니라고 판단한다. 그리고 모두 더했을 때 0이거나 양수인데, 이때 0이면 올바른 괄호이므로 true를, 아니면 (가 더 많은 경우로 false를 반환한다. function solution(s){ let s..

Algorithm/Programmers

[알고리즘/프로그래머스/고득점Kit] 기능개발(JS)

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42586?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 1. 큐에 각 작업이 걸리는 시간을 저장한다. 2. 큐를 돌면서 최댓값보다 작거나 같으면 cnt를 증가시키고, 아니면 answer에 같이 배포할 날짜를 넣어주고 maxVal를 갱신한다. 언뜻 보면 간단한 거 같지만 헷갈리는 부분들이 있었다. 먼저, 큐의 첫 번째 값은 미리 cnt를 세고 시작한다. 이를 위해 maxVal를 queue[0]으로 초기화하고..

Algorithm/Programmers

[알고리즘/프로그래머스/카카오] 메뉴 리뉴얼(JS)

문제 https://school.programmers.co.kr/learn/courses/30/lessons/72411 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 2명 이상이 주문한 2개 이상의 조합을 구해야 한다. - 각 course 돌면서 course 개수만큼 order의 조합 만들기(DFS) - 구한 조합 돌면서 [조합]의 개수 증가시키기 ** 오름차순 정렬 필요 - 각 개수에 해당하는 최댓값 찾아서 -> 최댓값 && 해당 개수인 조합 answer.push() - answer.sort() 오름차순 주의해야할 점은 "WX"와 "XW"를 같은 ..

Algorithm/Programmers

[알고리즘/프로그래머스/카카오] 두 큐 합 같게 만들기(JS, 투포인터)

문제 https://school.programmers.co.kr/learn/courses/30/lessons/118667?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 길이가 같은 두 개의 큐에서 배열의 첫 번째 원소를 다른 배열에 마지막에 넣는 과정을 반복했을 때 두 큐의 합이 같아지기 위한 최소 작업 횟수를 구하는 문제이다. 처음에는 이해가 어려워서 해당 블로그의 그림을 참고하였다. queue1과 queue2를 합친 하나의 배열 queue를 만든다. p1을 queue1의 시작점(0)으로, p2를 queue2의 ..

개발자 김비숑
'Algorithm/Programmers' 카테고리의 글 목록 (2 Page)