목록프로그래머스 (167)
안녕하세요
명예의 전당 문제 보기 문제 요약 점수 배열의 길이는 1부터시작하여 배열에 하나씩 추가되어 2, 3, ... , N 개가 주어집니다. [1] [1, 10] [1, 10 20] 각 점수 배열에 대하여 K번째 점수를 반환하시오. 배열에 K번째 요소가 없을 경우엔 가장 작은 숫자를 반환하시오. K = 2 [1] => 1 [1, 10] => 10 [1, 10 20] => 10 answer = [1,10,10] 풀이 과정 1) n개의 점수가 들어있는 배열을 내림차순하여 점수를 비교할 수 있도록 한다. 2) 배열의 길이가 K보다 작거나 같은지 비교한다. 3) 배열의 길이가 K와 작거나 같다면 가장 마지막에 있는 점수를 answer에 추가한다. 4) 배열의 길이가 K보다 크다면 않다면 K번째 점수를 answer에 추..
기사단원의 무기 문제보기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 조건 각 기사에게는 1번부터 number까지 번호가 지정 된다. 자신의 기사 번호의 약수 개수에 해당하는 공격력을 가진 무기를 구매한다. 제한수치보다 큰 공격력을 가진 무기를 구매해야 하는 기사는 협약기관에서 정한 공격력을 가지는 무기를 구매 무기를 만들 때, 무기의 공격력 1당 1kg의 철이 필요 무기를 모두 만들기 위해 필요한 철의 무게를 미리 계산 문제 풀이 1~n까지의 숫자별 약수 개수 배열 만들기 약수 개수는 제한 수치까지만 적용하기 합을 반환하기 n의 약수 개수 구하기..
과일 장수 1. 필요한 조건 정리 사과는 상태에 따라 1점부터 k점까지의 점수로 분류한다. k점이 최상품의 사과 점수 p점이 최하품의 사과 점수 한 상자에 m개 포장 사과 한 상자의 가격은 p * m 최대 이익을 계산 (사과는 상자 단위로만 판매, 남는 사과는 버립니다) 2. 풀이 단계 정리 (1) 고렴이 > 저렴이 순서로 배치하기 (2) 앞에서부터 m개씩( 가장 비싼 사과끼리 ) 상자에 담기 (3) 사과 m개를 상자에 담았으면 상자의 마지막 사과(p) * 사과갯수(m)을 가격에 더하기 (4) 마지막 상자에 3개보다 사과가 덜 담긴다면 총 가격을 구하기 3. 코드로 옮기기 function solution(k, m, score) { // (1)고렴이 > 저렴이 순서로 배치하기 const 고렴이우선배열 = ..
택배상자 문제와 풀이 1) 메인벨트, 보조벨트 가 있다. main = [5,4,3,2,1] support = [] 2) 벨트는 일렬로 되어 있고 상자는 입구의 하나만 꺼낼 수 있다. => pop()만 가능 sideBelt.push(mainBelt.pop()); 3) 상자는 바닥에 놓으면 안된다. 4) 메인벨트에서 보조벨트로 상자를 옮길 수 있다. main => support main = [5,4,3,2] support = [1] // 메인벨트에 상자가 남아 있지만, 목표대상이 없으면 [메인벨트 => 보조벨트] if (mainBelt.at(-1) && sideBelt.at(-1) !== order[index] && mainBelt.at(-1) !== order[index]) { sideBelt.push(m..