LeetCode - The World's Leading Online Programming Learning Platform
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
문제
빨간색, 흰색 또는 파란색으로 색상이 지정된 개체 가 있는 배열 nums이 주어지면 동일한 색상의 개체가 빨간색, 흰색 및 파란색 순서로 색상이 인접하도록 정렬하는 프로그램을 작성하시오
과정
- 정렬을 이용하여 풀어준다.
입력
[2,0,2,1,1,0]
출력
[0,0,1,1,2,2]
풀이
class Solution:
def sortColors(self, nums: List[int]) -> None:
for i in range(len(nums)):
for j in range(len(nums)-1-i):
if nums[j] > nums[j+1]:
nums[j], nums[j+1] = nums[j+1], nums[j]
한 줄 씩 해석해보기
for i in range(len(nums)):
for j in range(len(nums)-1-i):
if nums[j] > nums[j+1]:
nums[j], nums[j+1] = nums[j+1], nums[j]
- 버블정렬
- 문자열의 길이만큼 탐색한다
- 문자열의 길이에서 현재 위치와 1을 뺀값까지 탐색하며 비교한다.
- 만약 현재 값이 그 다음값보다 크다면
- 서로의 위치를 바꾸어준다.
간단한 풀이
class Solution:
def sortColors(self, nums: List[int]) -> None:
nums.sort()
- sort()를 이용한 풀이
'코딩 테스트 (Python) > 리트코드' 카테고리의 다른 글
[리트코드] 240. 2D 행렬 검색 2 (Python) (0) | 2024.01.19 |
---|---|
[리트코드] 167. 두 수의 합 2 (Python) (1) | 2024.01.19 |
[리트코드] 179. 가장 큰 수 (Python) (0) | 2024.01.17 |
[리트코드] 33. 회전 정렬된 배열 검색 (Python) (0) | 2024.01.13 |
[리트코드] 704. 이진 탐색 (Python) (0) | 2024.01.13 |