[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.