본문 바로가기

분류 전체보기

(84)
[해커랭크] Electronics Shop 문제링크 Electronics Shop | HackerRank Determine the most expensive Keyboard and USB drive combination one can purchase within her budget. www.hackerrank.com "Electronics Shop" 문제에서는 한 사람이 주어진 예산으로 구매할 수 있는 가장 비싼 컴퓨터 키보드와 USB 드라이브의 조합을 찾아야 합니다. 키보드와 USB 드라이브의 가격 목록과 예산이 주어지며, 두 제품을 모두 구매할 수 있는 최대 비용을 찾는 것이 목표입니다. 만약 두 제품을 모두 구매할 수 없다면 -1을 반환해야 합니다. 예를 들어, 예산이 60달러이고 키보드의 가격이 [40, 50, 60]달러, USB 드라이브..
[해커랭크] Counting Valleys 문제링크 Counting Valleys | HackerRank Count the valleys encountered during vacation. www.hackerrank.com 등산가는 등산을 해수면에서 시작하여 해수면에서 끝내며, 각 걸음은 해발 고도에서 한 단위의 변화를 나타냅니다. 등산 경로는 'U'(오르막)와 'D'(내리막)로 구성된 문자열로 주어지며, 등산가는 이 경로를 따라 걷습니다. 문제의 목표는 등산가가 걸은 경로를 분석하여 등산 중 걸었던 계곡의 총 수를 찾는 것입니다. 여기서 '계곡'은 해수면 아래에서 시작하여 해수면으로 다시 올라오는 연속된 걸음들의 시퀀스를 의미합니다. 예를 들어, 'DDUU' 경로는 한 개의 계곡을 형성합니다. 이 문제에서는 주어진 경로에 따라 등산가가 걸었던 ..
[해커랭크] Sales by Match 문제링크 Sales by Match | HackerRank How many pairs of socks can Alex sell? www.hackerrank.com 대량의 양말이 있으며, 이 양말들을 색상별로 짝을 지어야 합니다. 각 양말의 색상을 나타내는 정수 배열이 주어졌을 때, 같은 색상의 양말 쌍이 몇 쌍인지 결정해야 합니다. 예를 들어, 양말의 색상을 나타내는 배열이 주어집니다. 이 배열에서 같은 색상의 양말이 몇 쌍인지를 찾아야 합니다. 문제풀이 : function sockMerchant(n, ar) { let pairs = 0 const colors = {} for(let i=0; i
[해커랭크] Bill Division 문제링크 Bill Division | HackerRank Determine whether or not Brian overcharged Anna for their split bill. www.hackerrank.com 안나와 브라이언이라는 두 친구가 저녁 식사 후 계산서를 어떻게 나눌지 결정하는 상황입니다. 각자 자신이 소비한 항목에 대해서만 비용을 지불하기로 합니다. 브라이언이 계산서를 받아 안나가 지불해야 할 부분을 계산하게 됩니다. 이 문제에서는 브라이언의 계산이 올바른지를 판단해야 합니다. 예를 들어, 계산서에 여러 항목의 가격이 있고, 안나는 그 중 하나의 항목을 먹지 않기로 결정합니다. 브라이언이 계산을 올바르게 한 경우, 안나는 그녀의 부분에 대해 정확한 금액을 지불합니다. 만약 브라이언이 안..
[해커랭크] Day of the Programmer 문제링크 Day of the Programmer | HackerRank Given year, determine date of the 256th day of the year. www.hackerrank.com 마리는 시간 여행을 하기 위해 타임머신을 발명했고, 1700년부터 2700년 사이의 어느 해에 러시아를 방문하여 프로그래머의 날(해당 연도의 256번째 날)을 경험하고자 합니다. 두 달력 시스템 모두 2월은 유일하게 일수가 변하는 달로, 윤년에는 29일, 그 외의 해에는 28일입니다. 줄리안 달력에서는 4로 나누어 떨어지는 해가 윤년이고, 그레고리안 달력에서는 다음 중 하나에 해당하는 해가 윤년입니다. - 400으로 나누어 떨어짐. - 4로 나누어 떨어지고 100으로 나누어 떨어지지 않음. 풀이 : ..
[해커랭크] Migratory Birds 문제링크 Migratory Birds | HackerRank Determine which type of bird in a flock occurs at the highest frequency. www.hackerrank.com 새 관찰 데이터가 담긴 배열이 주어집니다. 각 요소는 새의 종류를 나타내는 ID입니다. 가장 자주 관찰된 새의 종류 ID를 결정하세요. 만약 최대 횟수로 관찰된 새의 종류가 여러 개라면, 그 중 가장 작은 ID를 반환하세요. 문제풀이 : function migratoryBirds(arr) { const count = {} let max = 0; let minType = 6 arr.forEach((value, index)=>{ count[value] = (count[value] || ..
[해커랭크] Divisible Sum Pairs 문제링크 Divisible Sum Pairs | HackerRank Count the number of pairs in an array having sums that are evenly divisible by a given number. www.hackerrank.com 정수 배열과 양의 정수 k가 주어질 때, i < j이고 ar[i] + ar[j]가 k로 나누어 떨어지는 쌍의 개수를 결정하세요. 풀이 : function divisibleSumPairs(n, k, ar) { let count = 0; for(let i=0; i
[해커랭크] Subarray Division 문제링크 두 아이, 릴리와 론은 초콜릿 바를 나누어 먹고 싶어합니다. 초콜릿의 각 조각에는 정수가 적혀 있습니다. 릴리는 다음 조건을 만족하는 연속된 초콜릿 조각을 골라 나누기로 결정합니다: - 조각의 길이가 론의 생일 달과 같아야 하며, - 조각에 적힌 정수들의 합이 론의 생일과 같아야 합니다. 초콜릿을 나눌 수 있는 방법이 몇 가지인지 결정하세요. 풀이 : function birthday(s, d, m) { const result = []; for (let i = 0; i