상세 컨텐츠

본문 제목

[GPT 활용기] 파이썬 코드 리팩토링

Development Study/AI 개발 활용기

by yooputer 2025. 4. 15. 10:39

본문

배경

  • 나는 코딩테스트 문제를 풀 때 파이썬을 주로 사용한다
  • 코딩테스트를 풀 때 파이썬을 사용하는 이유는 리스트 함축, 다양한 라이브러리 및 자료구조 등 때문인데, 
    이것들을 잘 활용하지 못하는것 같아 문제를 푼 후 GPT에게 리팩토링을 요청했다. 
  • 내가 푼 문제에 대해서는 아래 포스팅에 정리해두었다. 
 

[프로그래머스] 388351. 유연근무제 | 파이썬3, 구현

프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 요약1. 일주일동안 출근 희망 시간 + 10분 이내 출근하면 선물을 주는

yooputer-devlog.tistory.com


 

나의 질문 및 GPT의 답변은 다음과 같다. 


첫번째로 마음에 드는 점은

아래와 같이 zip함수와 리스트 함축으로 5줄의 반복문 코드를 한줄의 문장으로 리팩토링한 것이다.

# 리팩토링 전
answer = 0
for i in range(len(schedules)):
    if check(schedules[i], timelogs[i], startDay):
        answer += 1

return answer

# 리팩토링 후
return sum(check(goal, log, startDay) for goal, log in zip(schedules, timelogs))

 

✅ 크기가 동일한 여러개의 배열을 한번에 반복시킬 때 zip함수를 사용할 수 있음을 알게되었다. 

sum함수 + 리스트 함축을 통해 조건을 만족하는 요소를 카운트할 수 있음을 알게되었다. 


두번째로 마음에 드는 점은 

아래와 같이 divmod함수를 사용해 몫과 나머지를 한번에 구하도록 리팩토링한 것이다. 

# 리팩토링 전
hour = time // 100
minute = time % 100

# 리팩토링 후
hour, minute = divmod(time, 100)

 

  자주 사용할 것 같지는 않지만 몫과 나머지를 반환하는 divmod함수에 대해 알게되었다. 

관련글 더보기