Menu
CoddyTech

Sort Colors

모든 값이 0, 1 또는 2인 배열 nums가 주어집니다. 이 값들을 세 가지 색, 예를 들어 빨강, 흰색, 파랑이라고 생각해 보세요. 배열의 모든 0이 먼저 오고, 그다음 모든 1이 오고, 마지막으로 모든 2가 오도록 재배열한 후 반환하세요.

라이브러리의 정렬 함수를 사용하지 않고 문제를 해결하세요. 핵심은 값에 대해 알고 있는 것을 활용하는 것입니다.

함수

sortColors(nums: integer-array) → integer-array
numsinteger-array
색상은 각각 0, 1 또는 2입니다
반환값integer-array
같은 값들을 먼저 모든 0, 그다음 모든 1, 그다음 모든 2 순서로

제약 조건

  • 1 ≤ nums.length ≤ 1.5 × 104
  • 모든 nums[i]는 0, 1 또는 2입니다.
  • 색상이 누락될 수 있으며, 배열에는 단일 색상만 들어 있을 수 있습니다.

예제

입력
nums = [2, 1, 0, 2, 0, 1, 1]
출력
[0, 0, 1, 1, 1, 2, 2]
설명
배열에는 0이 두 개, 1이 세 개, 2가 두 개 들어 있으므로 결과도 정확히 같습니다. 0 두 개, 그다음 1 세 개, 그리고 2 두 개입니다.

lock icon제출 시 숨은 테스트 +17개

challenge icon

후속 질문

배열의 길이보다 훨씬 작은 k개의 색상이 세 가지 대신 있다면 무엇을 바꾸겠습니까?

코드 초기화
def sortColors(nums):
    # 여기에 코드를 작성하세요
테스트 케이스

케이스 1

케이스 2

케이스 3

입력

nums = [2, 1, 0, 2, 0, 1, 1]

기대값

[0, 0, 1, 1, 1, 2, 2]