프로그래머스9 [JavaScript] 프로그래머스: n + 1 카드 게임 난이도 : Level 3알고리즘 유형 : 그리드문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/258707 문제 풀이각 라운드 마다 2장의 카드가 주어지고 1 장당 1 코인으로 카드를 살 수 있다. 사지 않은 카드는 버려진다.이후 라운드를 끝내기 위해 카드의 합이 n + 1이 되는 2장의 카드를 낸다. 그럼 정석적으로 생각한 다면 시나리오는 다음과 같다.카드 뭉치에서 앞으로 나오는 카드의 종류를 보고 내가 사야하는 카드인지 판단.해당 카드를 살 수 있는지 판단.손에서 카드의 합이 n + 1이 되는 카드 제출. 하지만 카드 뭉치에서 내가 사야하는 카드인지 판단하는 로직이 까다로울 것 같았다.그래서 일단 각 라운드마다 주어지는 카드 2장.. 2024. 12. 2. [JavaScript] 프로그래머스: 표현 가능한 이진트리 난이도 : Level 3알고리즘 유형 : 트리 탐색문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/150367 문제 풀이주어진 숫자를 이진수로 변환포화이진트리의 노드 갯수는 무조건 2 ^ n - 1이므로 포화이진트리가 될 떄까지 앞에 9을 붙임이진트리 처럼 루트 노드 부터 left → right 로 순회한다.순회하다가 나오는 값이 1이면 자식 노드들을 순회하고, 순회하다가 나오는 값이 0이면 자식 노드들의 값이 0인지 확인한다. 0이 아니라면 구성 불가능한 트리임으로 0을 반환한다. function solution(numbers) { let answer = []; numbers.forEach(number => { .. 2024. 11. 29. [JavaScript] 프로그래머스: 택배 배달과 수거하기 난이도 : Level 2알고리즘 유형 : 그리드문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/150369 문제 풀이메인 생각 : 가장 먼 거리에 있는 집 부터 최대 용량으로 배달 및 수거하기.택배를 배달 및 수거하면서 최소로 이동하려면 한 번 나갈 때 최대한의 택배를 배달/수거해야 한다.또한 제일 멀리있는 집 부터 택배를 배달/수거해야지 최소 거리로 이동할 수 있다. 더보기택배를 전달하기 위해서 앞에서부터 순차적으로 전달 또는 뒤에서 부터 순차적으로 전달하는 방법을 떠올릴 수 있다. 이때 최대한의 택배를 앞에서부터 전달하는 경우 뒤에서부터 전달할 때보다 더 많이 이동할 수 있다. 예를 들어 cap이 4이고 delivery가 [0, .. 2024. 11. 26. [JavaScript] 프로그래머스: 이모티콘 할인행사 난이도 : Level 2알고리즘 유형 : 중복 순열, 시뮬레이션문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/150368 문제 풀이중복 순열로 각 이모티콘의 할인율이 될 수 있는 조합을 구한다. $ O(4^{m}) $각 할인율 별 시뮬레이션을 돌렸을 때 나오는 이모티콘 플러스 서비스 가입자와 이모티콘 구매 금액을 구한다. $ O(4^{m} \times n \times m) $(n : 카카오톡 사용자들의 수, m: 이모티콘의 갯수) 각 이모티콘 할인율 별 이모티콘 플러스 서비스 가입자와 이모티콘 구매 금액을 모두 구해야지 정확한 답을 구할 수 있다. 먼저 중복순열로 이모티콘 별 10%, 20%, 30%, 40% 할인율의 조합을 .. 2024. 11. 25. [JavaScript] 프로그래머스: 주사위 고르기 난이도 : Level 3알고리즘 유형 : 조합, 이분 탐색문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/258709 문제 풀이승률 계산 방식 A가 선택한 주사위에서 나올 수 있는 수를 저장한 배열 => arrA B가 선택한 주사위에서 나올 수 있는 수를 저장한 배열 => arrB arrA에서 반복문을 돌면서 각 결과값이 이기는 횟수 세기.[ 조합 ] 선택할 수 있는 주사위의 조합 구하기.[ 조합 ] 선택된 주사위 조합에서 나올 수 있는 결과의 값 구하기.[ 이분 탐색 ] 선택된 주사위의 결과 값에서 반복문을 돌면서 선택되지 않은 값 중에서 이기는 횟수 구하기. A가 승률이 높은 주사위들의 조합을 찾기 위해 모.. 2024. 11. 23. [JavaScript] 프로그래머스: 상담원 인원 난이도 : Level 3알고리즘 유형 : 그리드 알고리즘문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/214288 문제현대모비스는 우수한 SW 인재 채용을 위해 상시로 채용 설명회를 진행하고 있습니다. 채용 설명회에서는 채용과 관련된 상담을 원하는 참가자에게 멘토와 1:1로 상담할 수 있는 기회를 제공합니다. 채용 설명회에는 멘토 n명이 있으며, 1~k번으로 분류되는 상담 유형이 있습니다. 각 멘토는 k개의 상담 유형 중 하나만 담당할 수 있습니다. 멘토는 자신이 담당하는 유형의 상담만 가능하며, 다른 유형의 상담은 불가능합니다. 멘토는 동시에 참가자 한 명과만 상담 가능하며, 상담 시간은 정확히 참가자가 요청한 시간만큼 걸립니다... 2024. 11. 15. 이전 1 2 다음