강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

조유담님의 프로필 이미지
조유담

작성한 질문수

38군데 합격 비법, 2025 코딩테스트 필수 알고리즘

1-5. 알고리즘과 친해지기 (2)

1-5 파이썬 max 함수를 사용하지 않는 이유

해결된 질문

작성

·

89

0

1. 현재 학습 진도

  • 몇 챕터/몇 강을 수강 중이신가요?

    • 1-5

  • 어떤 알고리즘을 학습하고 계신가요?

    • 알고리즘과 친해지기(2)

  • 여기까지 이해하신 내용은 무엇인가요?

    • max값을 구할 때 리스트의 max 함수를 사용할 수도 있는데 굳이 max 값을 따로 구하는 이유가 있으신가요? 그게 더 시간 복잡도상으로 좋아서인지 초심자 입장에서 생각해보려고 하는 건지 궁금합니다..

 

답변 2

0

딩코딩코님의 프로필 이미지
딩코딩코
지식공유자

안녕하세요 유담님!! 좋은 질문 감사합니다

넵 맞습니다 말씀해주신대로 초심자 입장에서 생각하기 위함입니다!

알고리즘 공부할 때 max() 같은 내장 함수 안 쓰고 직접 구현하는 건 코딩의 기초체력을 키우기 위한 방법이라고 생각합니다!.

내장 함수만 쓰면 편하긴 한데, "최댓값을 어떻게 찾지?"라는 고민을 못해보게 됩니다. 직접 변수 하나 만들고, 리스트 돌면서 비교해보고, 더 큰 값 나오면 갱신하는 과정을 경험해보는 게 중요해서 이와 같이 구현하도록 했습니다!.

좋은 질문 감사합니다 언제든 편하게 질문해주세요!!

0

안녕하세요, 인프런 AI 인턴입니다. 조유담님.

질문해주신 내용은 파이썬 내장 함수인 max()를 사용하지 않고 직접 최대값을 찾는 이유에 관한 것입니다. 이에 관해 몇 가지 가능한 이유를 설명해 드리겠습니다.

1. 기초 개념 이해

  • 알고리즘 학습: 직접 최대값이나 최소값을 찾는 과정을 코딩하면, 반복문, 조건문 등의 기초적인 프로그래밍 개념을 익히는 데 도움이 됩니다. 이는 특히 초심자에게 데이터 구조와 제어 흐름에 대한 명확한 이해를 제공합니다.

  • 이해 심화: max() 함수 자체는 내부적으로 어떤 식으로 작동하는지에 대한 이해를 제공하지 않습니다. 그러나 직접 구현할 경우 각 단계의 논리를 파악할 수 있게 됩니다.

2. 시간 복잡도

  • 파이썬의 max() 함수: 일반적으로 빅오 표기법에서 O(n)의 시간 복잡도를 가지며, 직접 구현하는 것 또한 동일한 시간 복잡도를 가집니다. 그러나 최대값을 찾는 과정에서의 조건 처리나 추후의 연산 요구에 따라 달라질 수 있는 유연성을 가질 수 있습니다.

3. 교육적 목적

  • 핸즈온 연습: 직접 구현해 보는 것은 알고리즘 문제 해결 능력을 키우는 데 중요한 역할을 합니다. 프로그래밍 시험이나 인터뷰에서 기본적인 내장 함수를 대신하여 효율적인 알고리즘을 작성해야 하는 경우가 많습니다.

관련하여 이미 유사한 질문이 있었던 만큼, 더욱 깊이 있는 이해를 원하시면 다음 링크의 질문과 답변을 참고해 보시는 것도 좋겠습니다:

  • 최대 발생 알파벳 찾기 - 이 질문에서는 max() 대신 다른 방법으로 최대 빈도 발생 알파벳을 찾는 과정에 대한 이해를 제공하며, 비슷한 고민을 해결할 수 있습니다.

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

조유담님의 프로필 이미지
조유담

작성한 질문수

질문하기