목록분류 전체보기 (529)
안녕하세요
숫자 카드 나누기 (45) 문제 보기 A의 모든 숫자를 나눌 수 있고, B의 모든 숫자들 중 하나도 나눌 수 없는 양의 정수 a B의 모든 숫자를 나눌 수 있고, A의 모든 숫자들 중 하나도 나눌 수 없는 양의 정수 a 를 만족하는 수 중 가장 큰 a를 찾고, 없다면 0을 반환하시오 문제 풀이 // 나누어 떨어지는 수들을 찾기 const getDivisors = (number) => { const divisors = []; for (let i = 2; i { const results = []; for (let divisor of divisors) { if (cardsA.every((card) => card % divisor === 0) && cardsB.every((card) => card % divis..
시소 짝꿍 (30) 문제 보기 탑승한 사람의 무게와 시소 축과 좌석 간의 거리의 곱이 양쪽 다 같다면 시소 짝꿍이라고 할 수 있습니다. 사람들의 몸무게 목록 weights이 주어질 때, 시소 짝꿍이 몇 쌍 존재하는지 구하여 return 하도록 solution 함수를 완성해주세요. 문제 풀이 function solution(weights) { weights.sort((a, b) => a - b); const weightCounts = {}; const units = [1, 2 / 3, 2 / 4, 3 / 4]; let count = 0; for (let weight of weights) { for (let unit of units) { if (weightCounts[weight * unit]) { coun..
마법의 엘리베이터(*) 문제 보기 -1, +1, -10, +10, -100, +100 등과 같이 절댓값이 10c (c ≥ 0 인 정수) 형태인 정수들이 적힌 버튼 엘리베이터가 위치해 있는 층과 버튼의 값을 더한 결과가 0보다 작으면 엘리베이터는 움직이지 않습니다. 0층으로 가기 위해 최소한으로 버튼 누르는 횟수는? 문제 풀이 n의 자릿수를 가장 빠르게 0으로 만드는 방법은? 올려주는 경우에는 다음 자릿수가 +1이 된다. n=1일 경우 1~5의 경우에는 내려주는게 빠르다. 6보다 큰 경우에는 올려주는게 빠르다. 그런데 올라가는 것이 다음 자릿수들에 영향을 줄 때를 생각해야 한다. 99인 경우 1의 자리를 1 올려주었지만 10의 자리와 100의 자리가 함께 영향을 받았다. 올려줄 경우에는 자릿수 변경에 신경..
호텔 대실 (20) 문제 보기 문제 조건 목표: 대실이 가장 많을 때 몇 개의 방이 예약되어 있는지를 구해야 한다. 최소한의 객실만 사용한다. 한 번 사용한 객실은 퇴실 시간을 기준으로 10분 청소시간이 필요하다. 문제 풀이 1. 3600개의 0을 지닌 배열을 만든다. 2. [시작시간, 퇴실시간 + 10]을 구한다. 3. for문으로 (시작시간)~(퇴실시간+10) 구간의 요소에 +1 해준다. 4. 최대 값을 Math.max()로 찾는다. 코드 function getMinute(time) { const [hour, min] = time.split(":"); return hour * 60 + Number(min); } function solution(book_time) { const timeTable = A..