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 // b
와 a % 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은 누구나 한 눈에 이해할 수 있는 코드를 전제로 간결함을 유지해야 한다는 얘기가 아닐까? 라는 생각을 해봅니다.
'Python > Python 문제 풀이' 카테고리의 다른 글
💡파이썬에서 두 수 곱의 최댓값 구하기: 정렬 vs 루프 vs remove 방식 비교 (0) | 2025.04.30 |
---|---|
비트 토글 문제 해결기 - module 없이 얼마나 Pythonic하게 풀 수 있을까? (0) | 2025.04.24 |
📌 'return result if result else None'을 몰랐던 나에게 바칩니다 (0) | 2025.04.22 |