목록분류 전체보기 (165)
개발 일지
새로 설계된 키패드를 테스트하여 테스터가 한 번에 하나씩 n개의 키 시퀀스를 누릅니다.테스트 시퀀스에서 keysPressed[i]가 i번째 키를 누른 길이 n의 문자열 키와 releaseTimes[i]가 i번째 키가 해제된 시간인 정렬된 목록 릴리스 타임이 주어집니다. 두 배열 모두 0-indexed입니다. 0번째 키는 0 시점에 눌렀으며, 이후의 모든 키는 이전 키가 해제된 정확한 시점에 누릅니다.테스터가 가장 길게 누른 키를 알고 싶어합니다. i번째 키프레스는 releaseTimes[i] - releaseTimes[i - 1]의 지속 시간을 가졌고, 0번째 키프레스는 releaseTimes[0]의 지속 시간을 가졌습니다.테스트 중에 동일한 키를 여러 번 눌렀을 수 있으며, 동일한 키를 여러 번 눌렀을..
정수 nums 배열이 주어지면 값의 빈도를 기준으로 배열을 증가하는 순서로 정렬합니다. 여러 값의 빈도가 같은 경우 감소하는 순서로 정렬합니다. 예시 1:입력: nums = [1,1,2,2,2,3]출력: [3,1,1,2,2,2]설명: '3'의 빈도는 1, '1'의 빈도는 2, '2'의 빈도는 3입니다. 예시 2:입력: nums = [2,3,1,3,2]출력: [1,3,3,2,2]설명: '2'와 '3'은 모두 빈도가 2이므로 감소하는 순서로 정렬됩니다. 예시 3:입력: nums = [-1,1,-6,4,5,-6,1,4,1]출력: [5,-1,4,4,-6,-6,1,1,1] 조건:1 -100 정답:public class Solution { public int[] FrequencySort(int[] num..
정수 배열 nums와 두 개의 정수 limit 및 goal이 주어집니다. 배열 nums는 abs(nums[i]) 배열의 합을 goal로 만들기 위해 추가해야 하는 최소 요소 수를 반환합니다. 배열은 abs(nums[i]) x >= 0이면 abs(x)는 x이고 그렇지 않으면 -x입니다. 예시 1:입력: nums = [1,-1,1], limit = 3, goal = -4출력: 2설명: -2와 -3을 더하면 배열의 합이 1 - 1 + 1 - 2 - 3 = -4가 됩니다. 예시 2:입력: nums = [1,-10,9,1], limit = 100, goal = 0출력: 1 조건:1 1 -limit -10^9 정답:public class Solution { public int MinElements(int..
한 자전거 운전자가 로드 트립을 하고 있습니다. 로드 트립은 서로 다른 고도에서 n + 1 지점으로 구성됩니다. 자전거 운전자는 고도가 0인 지점에서 여행을 시작합니다.길이 n의 정수 배열 gain이 주어지는데, 여기서 gain[i]은 모두 (0 예시 1:입력: gain = [-5,1,5,0,-7]출력: 1설명: 고도는 [0,-5,-4,1,1,-6]입니다. 가장 높은 것은 1입니다. 예시 2:입력: gain = [-4,-3,-2,-1,4,3,2]출력: 0설명: 고도는 [0,-4,-7,-9,-10,-6,-3,-1]입니다. 가장 높은 것은 0입니다. 조건:n == gain.length1 -100 정답:public class Solution { public int LargestAltitude(in..
음수가 아닌 정수로 구성된 크기 m x n의 2차원 matrix가 주어집니다. 또한 정수 k도 주어집니다.matrix의 좌표(a, b) 값은 모든 matrix[i][j]의 XOR이며, 여기서 0 matrix의 모든 좌표 중 k번째로 큰 값(1-index)을 구합니다. 예시 1:입력: matrix = [[5,2],[1,6]], k = 1출력: 7설명: 좌표 (0,1)의 값은 5 XOR 2 = 7로 가장 큰 값입니다. 예시 2:입력: matrix = [[5,2],[1,6]], k = 2출력: 5설명: 좌표 (0,0)의 값은 5 = 5이며, 이는 두 번째로 큰 값입니다. 예시 3:입력: matrix = [[5,2],[1,6]], k = 3출력: 4설명: 좌표 (1,0)의 값은 5 XOR 1 = 4로 세 번..
lowLimit에서 HighLimit까지(즉, n == highLimit - lowLimit + 1)까지 번호가 매겨진 공이 n개이고, 1에서 무한대까지 번호가 매겨진 상자가 무한히 많은 공 공장에서 일하고 있습니다.이 공장에서 하는 일은 공 번호의 자릿수의 합과 같은 숫자로 각 공을 상자에 넣는 것입니다. 예를 들어, 공 번호 321은 상자 번호 3 + 2 + 1 = 6에, 공 번호 10은 상자 번호 1 + 0 = 1에 넣습니다.두 개의 정수 lowLimit과 highLimit이 주어지면 가장 많은 공을 가진 상자의 공 수를 반환합니다. 예시 1:입력: lowLimit = 1, highLimit = 10출력: 2설명:상자 번호: 1 2 3 4 5 6 7 8 9 10 11 ...볼 수: 2 1 1 1 ..
배열 items가 주어지는데, 여기서 items[i] = [typei, colori, namei]는 i번째 항목의 유형, 색상 및 이름을 설명합니다. 또한 'ruleKey'와 'ruleValue'의 두 문자열로 표시되는 규칙이 주어집니다.i번째 항목은 다음 중 하나가 사실인 경우 규칙과 일치한다고 합니다:ruleKey == "type" and ruleValue == typei.ruleKey == "color" and ruleValue == colori.ruleKey == "name" and ruleValue == namei.주어진 규칙과 일치하는 항목의 수를 반환합니다. 예시 1:입력: items = [["phone","blue","pixel"],["computer","silver","lenovo"],..

체스판의 사각형의 좌표를 나타내는 문자열인 coordinates가 주어집니다. 아래는 참고용 체스판입니다.사각형이 흰색이라면 true를, 사각형이 검은색이라면 false를 Return합니다.좌표는 항상 유효한 체스판 칸을 나타냅니다. 좌표는 항상 문자가 먼저, 숫자가 두 번째입니다. 예시 1:입력: coordinates = "a1"출력: false설명: 위 체스판에서 좌표가 "a1"인 사각형은 검은색이므로 false를 반환합니다. 예시 2:입력: coordinates = "h3"출력: 참설명: 위 체스판에서 좌표가 "h3"인 사각형은 흰색이므로 true를 반환합니다. 예시 3:입력: coordinates = "c7"출력: false 조건:coordinates.length == 2'a' '1' 정답:pu..
정수 배열 nums(0-indexed)가 주어집니다. 한 번의 작업으로 배열의 요소를 선택하고 1씩 늘릴 수 있습니다.예를 들어 nums = [1,2,3]인 경우 nums[1]을 증가시켜 nums = [1,3,3]을 만들 수 있습니다.숫자를 엄격하게 증가시키는 데 필요한 최소 연산 수를 반환합니다.배열 nums는 0 예시 1:입력: nums = [1,1,1]출력: 3설명: 다음 작업을 수행할 수 있습니다:1) 숫자[2]를 증가시키므로 숫자는 [1,1,2]가 됩니다.2) 숫자[1]을 증가시키므로 숫자는 [1,2,2]가 됩니다.3) 숫자[2]를 증가시키므로 숫자는 [1,2,3]이 됩니다. 예시 2:입력: nums = [1,5,2,4,1]출력: 14 예시 3:입력: nums = [8]출력: 0 조건:1 1..
문자 '0'과 '1'로만 구성된 문자열 s가 주어집니다. 한 번의 작업으로 '0'을 '1'로 변경하거나 그 반대로 변경할 수 있습니다.인접한 두 문자가 동일하지 않은 경우 문자열을 교대라고 합니다. 예를 들어, 문자열 "010"은 교대하고 있지만 문자열 "0100"은 그렇지 않습니다.s를 번갈아 가며 수행하는 데 필요한 최소 작업 수를 반환합니다. 예시 1:입력: s = "0100"출력: 1설명: 마지막 문자를 '1'로 변경하면 s는 교대로 "0101"이 됩니다. 예시 2:입력: s = "10"출력: 0설명: s는 이미 번갈아 가며 사용되고 있습니다. 예시 3:입력: s = "1111"출력: 2설명: "0101" 또는 "1010"에 도달하려면 두 번의 작업이 필요합니다. 조건:1 s[i]는 '0' 또는..