본문 바로가기
반응형

알고리즘11

[Medium] 두 숫자 더하기 문제: 두 개의 비어 있지 않은 연결 리스트가 주어지며, 이들은 두 개의 음이 아닌 정수를 나타냅니다. 숫자들은 역순으로 저장되 어 있으며, 각 노드는 하나의 숫자를 포함합니다. 두 숫자를 더하고 그 합을 연결 리스트로 반환하세요. 두 리스트의 숫자는 0인 경우를 제외하고 0으로 시작하지 않습니다. 예시1: Input: l1 = [2,4,3], l2 = [5,6,4] Output: [7,0,8] Explanation: 342 + 465 = 807. 예시2: Input: l1 = [0], l2 = [0] Output: [0] 예시3: Input: l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9] Output: [8,9,9,9,0,0,0,1] 제약 조건: 각 연결 리스트의 노드 수는 [1, .. 2024. 4. 3.
[코딩 인터뷰] 배열에서 k번째로 큰 요소 찾기 문제 설명: 정수 배열 nums와 정수 k가 주어질 때, 배열에서 k번째로 큰 요소를 반환하는 함수를 작성하세요. nums에는 중복된 요소가 포함될 수 있으며, k번째로 큰 요소를 찾을 때 중복을 고려합니다. 예를 들어, 배열이 [3,2,3,1,2,4,5,5,6]이고 k=4라면, 배열에서 네 번째로 큰 요소는 4입니다. 입력: nums: 정수 배열 k: 찾고자 하는 순서의 정수 출력: 배열에서 k번째로 큰 요소 예시: 입력: nums = [3,2,1,5,6,4], k = 2 출력: 5 입력: nums = [3,2,3,1,2,4,5,5,6], k = 4 출력: 4 풀이 및 해설 (Python): 퀵 정렬의 변형인 퀵 선택(Quick Select) 알고리즘을 사용하여, 전체 배열을 정렬하지 않고도 k번째로 .. 2024. 3. 28.
[코딩 인터뷰] 두 배열의 교집합 구하기 문제 설명: 두 개의 정수 배열 nums1과 nums2가 주어졌을 때, 이 두 배열의 교집합을 계산하는 함수를 작성하세요. 결과 배열에는 두 배열 모두에 나타나는 모든 고유한 정수가 포함되어야 합니다. 결과 배열의 순서는 상관 없습니다. 제한 사항: 결과 배열은 고유한 값만 포함해야 합니다. 즉, 중복된 원소를 제거해야 합니다. 입력으로 주어지는 두 배열의 길이는 최소 1 이상입니다. 입력: nums1: 첫 번째 정수 배열 nums2: 두 번째 정수 배열 출력: 두 배열의 교집합을 나타내는 정수 배열 예시: 입력: nums1 = [1, 2, 2, 1], nums2 = [2, 2] 출력: [2] 입력: nums1 = [4, 9, 5], nums2 = [9, 4, 9, 8, 4] 출력: [9, 4] 출력된 .. 2024. 3. 28.
[코딩 인터뷰] 단어 단위로 문자열 뒤집기 주어진 문자열 s는 여러 단어로 구성되어 있으며, 각 단어는 하나 이상의 공백 문자로 구분됩니다. 당신의 목표는 각 단어 내에서 문자의 순서를 뒤집되, 단어의 순서는 유지하는 새로운 문자열을 반환하는 함수를 작성하는 것입니다. 여기서 단어란 공백이 아닌 문자들의 연속된 시퀀스를 의미합니다. 입력: s: 단어와 공백 문자로 구성된 문자열 (1 ≤ 문자열의 길이 ≤ 10,000) 출력: 각 단어 내의 문자 순서가 뒤집힌 새로운 문자열 예시: 입력: "hello world" 출력: "olleh dlrow" 입력: "The quick brown fox jumps over the lazy dog" 출력: "ehT kciuq nworb xof spmuj revo eht yzal god" 더보기 Python def .. 2024. 3. 28.
반응형