본문 바로가기

Fundamentals/Algorithms

(25)
[해커랭크] Picking Numbers 문제링크 Picking Numbers | HackerRank What's the largest size subset can you choose from an array such that the difference between any two integers is not bigger than 1? www.hackerrank.com 주어진 정수 배열에서, 어떤 두 요소 간의 절대 차이가 1 이하인 가장 긴 부분 배열을 찾아야 합니다. 예를 들어, 두 부분 배열 [1, 1, 2, 2, 4, 4, 5, 5, 5]와 [4, 4, 5, 5, 5]가 있을 때, 최대 길이를 가진 부분 배열은 요소가 5개인 배열입니다. 풀이 : function pickingNumbers(a) { let result = 0 const f..
[해커랭크] Forming a Magic Square 문제링크 Forming a Magic Square | HackerRank Find the minimum cost of converting a 3 by 3 matrix into a magic square. www.hackerrank.com 이 문제에서는 3x3 행렬을 매직 스퀘어로 변환하는 최소 비용을 찾는 것이 목표입니다. 매직 스퀘어는 각 행, 열, 대각선의 합이 동일한 상수값(매직 상수)이 되는 1부터 9까지의 서로 다른 양의 정수로 구성된 행렬입니다. - 주어진 행렬의 숫자는 1부터 9까지의 범위에 있습니다. - 행렬의 숫자를 다른 숫자로 변환하는 데 드는 비용은 1입니다. - 주어진 행렬을 매직 스퀘어로 변환하는 데 필요한 최소 비용을 계산해야 합니다. - 결과적인 매직 스퀘어는 1부터 9까지의 ..
[해커랭크] Cats and a Mouse 문제링크 Cats and a Mouse | HackerRank Which cat will catch the mouse first? www.hackerrank.com "Cats and a Mouse" 문제에서는 선상에 있는 두 마리의 고양이와 한 마리의 쥐의 위치가 주어집니다. 여러분의 임무는 쥐가 움직이지 않고 고양이들이 같은 속도로 이동한다고 가정했을 때, 어느 고양이가 쥐에게 먼저 도달할지 결정하는 것입니다. 만약 두 고양이가 동시에 쥐에게 도달한다면, 쥐는 이동할 수 있게 되고, 싸우는 동안 도망칠 것입니다. 각 쿼리는 고양이 A, 고양이 B, 그리고 쥐 C의 위치를 나타내는 x, y, z의 형태로 주어집니다. 각 쿼리에 대한 적절한 답을 반환하는 함수를 완성해야 합니다. 고양이 A가 쥐를 먼저 잡..
[해커랭크] 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으로 나누어 떨어지지 않음. 풀이 : ..