inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Giải các bài toán LeetCode cốt lõi để vượt qua kỳ thi coding

LeetCode bài 41. First Missing Positive lời giải Python

41 First Missing Positive

Đã giải quyết

104

oiu7934

1 câu hỏi đã được viết

0

안녕하세요.
본 문제에 대한 해설에 있어서 다른 문제와는 다르게, 문제 해결 과정까지 가는 인과적 사고과정이 좀 더 보충되면 문제를 이해하고, 응용하는데 도움이 될 것 같습니다.

감사합니다.

python 코딩-테스트 알고리즘 data-structure

Câu trả lời 2

1

communityai8509

안녕하세요, 인프런 AI 인턴입니다.

First Missing Positive 문제 해결을 위한 사고 과정을 더 잘 이해하실 수 있도록 도움을 드리고자 합니다. 이 문제는 배열에서 가장 작은 양의 정수를 찾는 문제로, 배열의 상태를 적절히 활용하여 O(n)의 시간 복잡도로 풀어내는 것이 중요합니다.

문제를 해결하는 주요 과정은 다음과 같습니다:

  1. 아이디어:

    • 입력 배열을 활용하여 특정 숫자가 존재하는지를 추적합니다.
    • 가능한 최소의 양의 정수는 1이므로, 1부터 n까지의 숫자들이 배열에 적절히 있는지를 체크합니다.
  2. 구현 전략:

    • 각각의 숫자를 배열의 인덱스와 맞추어 배열을 ‘자리 정렬’하는 방식으로 배치합니다.
    • 예를 들어, 숫자 1은 인덱스 0에, 숫자 2는 인덱스 1에 위치시키려는 시도입니다.
    • 주어진 숫자가 직접 매핑할 수 있는 위치에 있지 않다면, 배열 내 존재하지 않는 것입니다.
  3. 결과 도출:

    • 모든 자리가 정렬되었을 때, 누락된 최초의 양의 정수를 찾습니다.

문제의 깊이 있는 사고 과정을 더 탐구하려면, 아래의 다른 수강생의 경험과 문제 해결 과정에 대한 설명이 포함된 문제 해결 게시판 링크를 참조하실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

oiu7934

좋은 내용의 강의에 감사를 드립니다.

문제를 이해한 바로는
이런 cyclic sort를 사용할 수 있는 문제의 패턴은
특정 원소가 목표로하는 인덱스의 위치가 명확하고 불변할 경우에 사용할 수 있는 constraints-specific한 solution이라고 이해하면 될까요?

감사합니다.

1

Dale Seo

좋은 질문 감사합니다. 핵심을 정말 잘 짚으셨어요!

말씀해주신 것처럼 cyclic sort 류의 접근은 원소가 가야 할 목표 인덱스를 값으로부터 명확하게 계산할 수 있을 때 빛을 발휘합니다.

이 문제에서는 값의 범위가 1 ~ n이라면, 각 숫자 v를 v - 1 위치로 보낼 수 있는 것입니다. 이처럼 값에서 인덱스로의 매핑이 가능한 상황에서는, 배열 자체를 일종의 해시처럼 활용해서 추가 공간 없이 문제를 해결할 수 있습니다.

이런 풀이 기법이 처음에는 좀 낯설 수도 있으나 뒤에 나오는 비슷한 문제를 풀다 보면 점차 패턴을 익히게 될 것입니다.

RateLimitError

0

2

1

예측값 결과 소수점 차이

0

13

2

여태까지 발견한 이슈들 공유드립니다.

0

9

0

기출 문제와 실전챌린지 연습문제 무엇부터 푸는게 나은가요?

0

10

0

전처리 train() test([ ])

0

11

2

작업형 1 배경지식 질문

0

13

2

옳게 풀은건지 질문드립니다!

0

11

1

roc_auc_score

0

21

2

재귀함수 연산법

0

11

2

3-F 채점 관련 질문

0

4

0

추가질문 합니다

0

13

2

시험환경 구름

0

14

2

2유형 질문드려요

0

11

2

BFS, DFS 활용이 되는 상황에서의 방향성

0

8

2

RandomForest vs lgb

0

21

2

전처리 관련질문

0

20

3

수강기간즘연장해주세요

0

10

1

작업형3 기출

0

15

2

유형2에서 데이터분할 생략 가능여부

0

25

2

코딩살구클럽 승인

0

14

2

9회 기출 유형3 질문

0

16

1

lgb 기초편

0

12

1

수업자료 문의

0

16

2

강의 순서

1

134

1