본문 바로가기

Coding Test/Programmers175

[Programmers Test] (1회차 코딩테스트) No 4. BinaryDistance [문제 설명] 0 이상의 정수 n이 주어질 때, n의 이진 표현에서 인접한 두 1 사이의 가장 긴 거리를 출력하는 함수, solution을 완성해주세요. 예를 들어, n이 주어질 때의 결과는 다음과 같습니다. > n : 5 > n의 이진 표현 : 101 > 결과 : 2 > n : 11 > n의 이진 표현 : 1011 > 결과 : 2 [입력 형식] - n은 0 이상 10^9 이하의 정수입니다. [출력 형식] - n의 이진 표현에서 인접한 두 1 사이의 가장 긴 거리를 출력합니다. const solution = (n) => { let itv = 1, max = 1; n.toString(2) .split("") .forEach((e) => { if (e == 0) { ++itv; max = max < itv .. 2023. 1. 20.
[Programmers Test] (1회차 코딩테스트) No 3. Stock 배열 A는 십만전자의 일단위 주식가격이 들어있습니다. 해당 주식 가격 기준으로 매수와 매도를 1회씩 진행했을때 가능한 최대 수익을 구하는 함수를 작성하세요. 이때 매도는 항상 매수 이후에 이루어지며 수익을 낼수 없는 경우 0을 리턴하세요. 입력 주식의 일단위 주가 정보 배열 A 출력 최대 수익 값 매개변수 : int[] A 리턴타입 : int function solution(A) { var result = []; for (var i = 0; i < A.length - 1; i++) { for (var j = i + 1; j < A.length; j++) { if (A[i] < A[j]) result.push(A[j] - A[i]); } } return result.length == 0 ? 0 : Math.. 2023. 1. 20.
[Programmers Test] (1회차 코딩테스트) No 2. TakeTheSand [문제 설명] 여름을 맞아 가족들과 함께 해수욕장을 방문했습니다. 코로나로 인해서 많은 사람이 각자의 파라솔 아래에서 마스크를 쓰고 둘러앉아 모래 뺏기 게임을 하고 있습니다. 흥민이와 흥민이의 누나는 `num`kg의 모래를 쌓아두고 게임을 시작합니다. 모래성 중앙의 깃발이 쓰러지지 않도록 하는 모래성의 무게는 `1kg`입니다. 흥민, 누나의 순서대로 게임이 진행됩니다. 한사람이 한 번에 가져갈 수 있는 모래의 양은 최소 `1kg`, 최대 `3kg`입니다. 여기에서 모래의 양 `num`을 입력하여 흥민이가 이길 수 있는 경우를 `true, false`로 출력하는 함수를 작성해 보세요. [제한 사항] - 최소 `1kg`, 최대 `3kg`의 모래를 가져갈 수 있습니다. - 흥민, 누나의 순서대로 게임이 진행됩.. 2023. 1. 20.
[Programmers Test] (1회차 코딩테스트) No 1. BuildPyramid [문제 설명] 블록으로 피라미드 모양의 탑을 쌓으려고 합니다. 피라미드 모양의 탑은 꼭대기는 1개의 블록을 사용하고, 그 아래는 2개의 블록, 그 아래에는 3개의 블록의 방식으로 쌓습니다. n 층의 피라미드 모양의 탑을 쌓을 때, 필요한 블록의 수를 구하는 함수, solution을 완성해주세요. 예를 들어, 4층의 피라미드에는 총 10개의 블록이 필요합니다. > 4층에 사용되는 블록 수 1개 > 3층에 사용되는 블록 수 2개 > 2층에 사용되는 블록 수 3개 > 1층에 사용되는 블록 수 4개 > 피라미드에 사용되는 블록의 총수는 10개입니다. [입력 형식] - n은 1 이상 1,000 이하의 정수입니다. [출력 형식] - 피라미드 모양의 탑을 쌓는데 필요한 블록의 총수를 구합니다. /** * @param.. 2023. 1. 20.
[Programmers] (완전탐색) Lv 2. 피로도 https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr const solution = (k, dungeons) => { let answer = 0; const visit = Array.from({ length: dungeons.length }, (_) => false); const dfs = (k, cnt) => { for (const i in dungeons) { const [need, consume] = dungeons[i]; if (!visit[.. 2023. 1. 18.
[Programmers] (탐욕법[Greedy]) Lv 2. 구명보트 https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(people, limit) { var answer = 0; people.sort((a, b) => b - a); for (let i = 0, j = people.length - 1; i = people[i] + people[j]) { ++answer; --j; } else ++answer; } return answer; } GitHub : https://github.. 2023. 1. 17.
[Programmers] Lv 1. 콜라츠 추측 https://school.programmers.co.kr/learn/courses/30/lessons/12943 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr const solution = (num) => collatz(num, (acc = 0)); const collatz = (num, acc) => num === 1 ? (acc >= 500 ? -1 : acc) : collatz(cal(num), ++acc); const cal = (num) => (num % 2 ? num * 3 + 1 : num / 2); GitHub : https://githu.. 2023. 1. 17.
[Programmers] Lv 2. 귤 고르기 https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(k, tangerine) { const temp = {}; tangerine.forEach((element) => { temp[element] = ++temp[element] || 1; }); const arr = Object.values(temp).sort((a, b) => b - a); let sum = 0, answer = 0; for (let num of .. 2023. 1. 16.
[Programmers] Lv 1. 과일 장수 https://school.programmers.co.kr/learn/courses/30/lessons/135808 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(k, m, score) { var answer = 0; score = score .sort((a, b) => b - a) .filter( (e, index) => 1 2023. 1. 16.
[Programmers] Lv 1. 기사단원의 무기 https://school.programmers.co.kr/learn/courses/30/lessons/136798 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(number, limit, power) { let a = 0; for (let cur = 1; cur 2023. 1. 15.