목록코딩 테스트 (165)
개발 일지
1's(군인을 나타냄)와 0's(민간인을 나타냄)의 m*n 이진 행렬 매트가 주어집니다. 군인들은 민간인들 앞에 배치됩니다. 즉, 각 행에 있는 모든 0의 왼쪽에 모든 1의 행렬이 나타납니다. 다음 중 하나가 참일 경우 i행이 j행보다 약합니다: i행의 군인의 수가 j행의 군인의 수보다 적을 경우. 두 행 모두 동일한 수의 군인일 경우 i < j. 가장 약한 행부터 가장 강한 정렬된 행렬에서 k까지의 행렬을 반환합니다. 예시 1: 입력: mat = [[1,1,0,0,0], [1,1,1,1,0], [1,0,0,0,0], [1,1,0,0,0], [1,1,1,1,1]], k = 3 출력: [2,0,3] 설명: 각 행의 군인의 수는 다음과 같습니다: - 0행: 2 - 1행: 4 - 2행: 1 - 3행: 2 - ..
길이 n의 정수 배열 번호가 주어집니다. 여기서 nums는 [0, n - 1] 범위에 있는 숫자의 순열입니다. 다음 규칙에 따라 s[k] = {nums[k], nums[nums[k]], nums[nums[k]], ...} 집합을 구성해야 합니다: s[k]의 첫 번째 요소는 인덱스 = k의 요소 번호[k] 선택으로 시작합니다. s[k]의 다음 요소는 nums[k], nums[k], nums[k] 등이어야 합니다. s[k]에 중복 요소가 발생하기 직전에 추가를 중지합니다. s[k] 집합의 가장 긴 길이를 반환합니다. 예시 1: 입력: nums = [5,4,0,3,1,6,2] 출력: 4 설명: nums[0] = 5, nums[1] = 4, nums[2] = 0, nums[3] = 3, nums[4] = 1, ..
문장은 소문자('a'~'z'), 숫자('0'~'9'), 하이픈('-'), 문장부호('!', '.', '',', '.'), 공백(')으로만 구성됩니다. 각 문장은 하나 이상의 공백으로 구분된 하나 이상의 토큰으로 나눌 수 있습니다. 토큰은 다음 세 가지가 모두 참일 경우 유효한 단어입니다: 소문자, 하이픈 및/또는 구두점(숫자 없음)만 포함합니다. 하이픈 '-'는 하나만 사용할 수 있습니다. 있으면 소문자("a-b"는 유효하지만 "-ab" 및 "ab-"는 유효하지 않습니다)로 둘러싸여 있어야 합니다. 구두점 표시는 하나만 사용할 수 있습니다 . 있는 경우 토큰 끝에 있어야 합니다("ab", "cd!" 및 "."는 유효하지만 "a!b" 및 "c."는 유효하지 않습니다). 유효한 단어의 예로는 "a-b", "..
n개의 행(1-indexed)으로 이루어진 표를 만듭니다. 첫 번째 행에 0을 쓰는 것으로 시작합니다. 이제 모든 다음 행에서 우리는 이전 행을 보고 0의 각 발생을 01로, 1의 각 발생을 10으로 바꿉니다. 예를 들어 n = 3의 경우 첫 번째 행은 0이고 두 번째 행은 01이며 세 번째 행은 0110입니다. 두 개의 정수 n과 k가 주어지면 n 행으로 구성된 표의 n번째 행에 k번째 (1-인덱스) 기호를 반환합니다. 예시 1: 입력: n = 1, k = 1 출력: 0 설명: 1행: 0 예시 2: 입력: n = 2, k = 1 출력: 0 설명: 행 1:0 행 2:01 예시 2: 입력: n = 2, k = 2 출력: 1 설명: 행 1:0 행 2:01 조건: 1
정수 배열이 주어지면 주어진 배열이 단조로운지 판단하여 단조로우면 true를 반환하고 그렇지 않으면 false를 반환합니다. 예시 1: 입력: nums = [1,2,2,3] 출력: true 예시 2: 입력: nums = [6,5,4,4] 출력: true 예시 2: 입력: nums = [1,3,2] 출력: false 조건: 1
완벽한 수는 해당 숫자를 제외한 약수의 합과 같은 정수입니다.정수가 주어졌을 때 완벽한 수라면 true를 반환하고 그렇지 않으면 false를 반환합니다. 예시 1: 입력: num = 28 출력: true 설명: 28 = 1 + 2 + 4 + 7 + 14 1, 2, 4, 7 및 14는 모두 28의 약수입니다. 예시 2: 입력: num = 7 출력: false 조건: 1

동일한 길이의 문자열 및 정수 배열 인덱스가 제공됩니다. ith 위치에 있는 문자가 shuffled string의 인덱스 [i]로 이동하도록 문자열이 shuffled됩니다. 섞였던 문자열을 반환합니다. 예시 1: 입력: s = "codelet", indices = [4,5,6,7,0,2,1,3] 출력: "leetcode" 설명: 그림과 같이 "codelet"은 셔플링 후 "leetcode"가 됩니다. 예시 2: 입력: s = "s", 인덱스 = [0,1,2] 출력: "abc" 설명: 뒤죽박죽이 된 후에도 각 캐릭터는 제자리를 유지합니다. 조건: s.length == index.length == n 1
각 자릿수가 0 또는 1이고 선행 0이 없는 경우 10진수를 10진수라고 합니다. 예를 들어, 101과 1100은 십이진법이고 112와 3001은 그렇지 않습니다. 양의 10진수 정수를 나타내는 문자열 n이 주어지면 필요한 양의 10진수 숫자의 최소 수를 n까지 합하도록 반환합니다. 예시 1: 입력: n = "32" 출력: 3 설명: 10 + 11 + 11 = 32 예시 2: 입력: n = "82734" 출력: 8 예시 2: 입력: n = "27346209830709182346" 출력: 9 조건: 1
2D 정수 배열 nums[i]가 비어 있지 않은 양의 정수 배열인 경우 오름차순으로 정렬된 각 nums 배열에 있는 정수 목록을 반환합니다. 예시 1: 입력: nums = [3,1,2,4,5], [1,2,3,4], [3,4,5,6] 출력: [3,4] 설명: 각 num[0] = [3,1,2,4,5], nums[1] = [1,2,3,4], nums[2] = [3,4,5,6]의 정수는 3과 4이므로 [3,4]를 반환합니다. 예시 2: 입력: nums = [[1,2,3], [4,5,6] 출력: [] 설명: num[0] 및 num[1]에 정수가 없으므로 빈 목록 []을 반환합니다. 조건: 1
정수 숫자 배열이 비어 있지 않은 경우 하나를 제외하고 모든 요소가 두 번 나타납니다. 그 단 하나를 찾으세요. 선형 런타임 복잡성을 가진 솔루션을 구현하고 일정한 추가 공간만 사용해야 합니다. 예시 1: 입력: nums = [2,2,1] 출력: 1 예시 2: 입력: nums = [4,1,2,1,2] 출력: 4 예시 3: 입력: nums = [1] 출력: 1 조건: 1 < = nums. length < = 3 * 10^4 -3 * 10^4