Python/Python 문제 풀이

⚡Pythonic하게 //, %, divmod() 처리하기: Simple is better than complex!

THINKRUNNER 2025. 4. 30. 21:28

 

 

 

Pythonic하게 //, %, divmod() 처리하기: Simple is better than complex! 

문제 소개 ✨

오늘은 아주 간단하지만 pythonic이라는 관점에서 봤을 때 매우 중요한 파이썬 문제를 풀었습니다. // (몫), % (나머지), 그리고 divmod() 함수를 한 번에 처리하는 함수를 만들어야 했죠. 단순하지만, 코드를 얼마나 "Pythonic" 하게 짜느냐가 핵심이었습니다!

내 코드 소개 📝

def perform_operations(a, b):
    return (a // b, a % b, divmod(a, b))
    

제 생각에는 간결 그 자체! 불필요한 변수 선언 없이 필요한 값을 한 줄에 반환했습니다.

GPT 추천 코드 소개 🤖

def perform_operations(a, b):
    quotient = a // b
    remainder = a % b
    divmod_result = divmod(a, b)
    return (quotient, remainder, divmod_result)
    

GPT는 변수명을 통해 각 연산의 의미를 명확히 드러내는 코드를 만들었네요. 누구나 코드만 보면 이해하기 쉽게 만들었네요.

divmod() 함수 간단 설명 📚

divmod(a, b)(a를 b로 나눈 몫, 나머지)를 한 번에 튜플로 반환하는 함수입니다.

divmod(7, 3)  # (2, 1)

즉, a // ba % b를 각각 구하는 것과 동일하지만, divmod()는 한 번에 둘 다 계산해줍니다.

Pythonic 코드 비교 🔥

Pythonic이란 무엇인가?

Pythonic이란 "파이썬답게" 코딩하는 것을 뜻합니다. 즉, 가독성이 좋고, 간결하며, 파이썬의 기본 철학에 부합하는 코드를 작성하는 것을 의미하죠.

내 코드 vs GPT 코드

  • 내 코드: 한 줄로 간결하게 처리. '매우 Pythonic' 하다고 GPT가 평가해줬네요. 😎
  • GPT 코드: 변수명을 사용해서 읽기 쉬움. 명시적이고 직관적. (이 코드를 보니... 저는 너무 간결하게만 만들려고 했다는 생각이 들었어요.) 📚
파이썬 철학: Simple is better than complex

파이썬은 "Simple is better than complex." 라는 철학을 강조합니다. 간단할 수 있으면, 간단하게 하라는 뜻이죠. 이 관점에서는 내 코드가 더 파이썬답다고 할 수 있다고 GPT는 대답했어요. 🎯

하지만 GPT의 코드가 더 pythonic하게 보이는 건...

한 줄 요약 ✍️

필요 없는 복잡함은 버리고, 단순하고 명확하게 코딩하자!

핵심 정리 ✅

  • 두 코드 모두 시간복잡도는 O(1)로 동일하다.
  • Pythonic만을 따지면, 더 간결하고 읽기 쉬운 코드가 우수하다.
  • Simple is better than complex. 이 정신을 항상 기억하자!
  • 하지만 Pythonic은 누구나 한 눈에 이해할 수 있는 코드를 전제로 간결함을 유지해야 한다는 얘기가 아닐까? 라는 생각을 해봅니다.