{}연습장
대시보드학습스킬 경로문제모의고사라이브 코테복습데이터
문제 목록〉연결 리스트〉계측기 기록 병합← 이전다음 →
#016 · 연결 리스트중간투 포인터,중복 제거

계측기 기록 병합

문제

같은 설비에 계측기 두 대가 붙어 있습니다. 각 계측기는 이상 신호를 감지한 시각(정수) 을 기록 시간 순서대로 연결 리스트에 남깁니다. 같은 시각을 두 번 이상 기록하는 일도 있어서, 한 리스트 안에 같은 값이 연달아 나올 수 있습니다.

두 기록을 하나로 합치되, 같은 시각은 한 번만 남겨 오름차순으로 정리하려고 합니다.

두 리스트의 머리 노드 logA, logB가 주어질 때, 병합·중복 제거가 끝난 리스트의 머리를 반환하는 solution(logA, logB) 함수를 작성하세요. 결과 리스트의 값은 엄격히 증가해야 합니다.

두 리스트가 모두 비어 있으면 빈 리스트(null)를 반환합니다.

예시

logA logB 반환값 설명
[1,4,4,9] [4,7,9] [1,4,7,9] 4는 세 번, 9는 두 번 나오지만 각각 하나만 남음
[2,2,4] [1,2,4,6] [1,2,4,6] 양쪽에 중복이 섞여 있음
[3,3,3] [] [3] 한쪽이 비어 있어도 중복은 정리
[] [] [] 둘 다 비어 있음

제약 조건

  • 각 리스트의 노드 수는 0 이상 200 이하입니다
  • -1,000 ≤ 노드의 값 ≤ 1,000
  • 두 리스트는 각각 비내림차순(같은 값이 이어질 수 있는 오름차순)으로 정렬되어 있습니다
  • 두 리스트를 미리 배열로 옮겨 정렬하지 말고, 앞에서부터 한 번씩만 훑어 해결하는 것을 목표로 하세요

시간 복잡도 목표: O(m + n)

테스트 케이스

예시 1: 양쪽에 걸친 중복
입력: logA = [1,4,4,9], logB = [4,7,9]
출력: [1,4,7,9]
예시 2: 두 리스트 모두 중복 포함
입력: logA = [2,2,4], logB = [1,2,4,6]
출력: [1,2,4,6]
예시 3: 한쪽이 비고 같은 값만 반복
입력: logA = [3,3,3], logB = []
출력: [3]
예시 4: 둘 다 빈 리스트
입력: logA = [], logB = []
출력: []
왼쪽만 빈 리스트
입력: logA = [], logB = [2,5]
출력: [2,5]
구간이 겹치지 않음
입력: logA = [1,2,3], logB = [4,5,6]
출력: [1,2,3,4,5,6]
solution.ts
에디터 로딩 중…

▶ 실행은 기록 없이 채점만, 제출은 결과가 진행률·오답노트에 기록됩니다.