쉬움 0명 해결 정답률 0%

Swap First and Last

Exchange the first and last items of a list.

배우게 될 내용

  • 첫 항목과 마지막 항목에 접근하기
  • 두 값 교환하기
  • 짧은 리스트 처리하기

문제

Return a copy of the list with its first and last elements swapped. Lists with fewer than two elements stay the same.

Implement swap_first_last(items).

Input

items: The list of integers.

Output

Return the list with the ends swapped.

제약 조건

0 ≤ length ≤ 100,000

예시

예시 1
입력:
items = [1, 2, 3, 4]

예상 출력:
expected = [4, 2, 3, 1]
입력:
std::vector<long long> items = {1, 2, 3, 4};

예상 출력:
std::vector<long long> expected = {4, 2, 3, 1};
입력:
long[] items = new long[] {1, 2, 3, 4};

예상 출력:
long[] expected = new long[] {4, 2, 3, 1};

설명

1 and 4 trade places: [4, 2, 3, 1].

예시 2
입력:
items = [9]

예상 출력:
expected = [9]
입력:
std::vector<long long> items = {9};

예상 출력:
std::vector<long long> expected = {9};
입력:
long[] items = new long[] {9};

예상 출력:
long[] expected = new long[] {9};

설명

A single item has nothing to swap with: [9].

접근 방법

먼저 스스로 풀어 본 뒤 힌트를 하나씩 열어 보세요.

힌트 1

바뀌는 건 양끝 두 개뿐이고, 가운데는 그대로 둡니다.

힌트 2

가운데 구간은 유지하고 마지막 항목을 먼저, 첫 항목을 마지막에 두어 새 리스트를 만듭니다.

힌트 3

빈 리스트와 원소가 1개인 경우는 그대로 반환해야 합니다.

예상 복잡도

시간 O(n), 추가 공간 O(n)

참고 자료

이 문제는 CodeUtility에 맞게 수정되었습니다. 위의 설명과 제한 조건을 따르세요.

다른 사람의 풀이 보기

커뮤니티 솔루션

아직 공개된 풀이가 없습니다. 문제를 풀고 첫 풀이를 공유하세요.