본문 바로가기
728x90
반응형

파이썬2

리팩터링 2탄 5/6장 5. 리팩터링 카탈로그 보는법 책읽는 사용법이라 생략! 6. 기본적인 리팩터링 6.1 함수추출하기 코드가 무슨일은 하는지 파악하고, 독립된 함수로 추출하고 목적에 맞게 이름을 붙이자. 지역변수는 매개변수로 받도록 하자. 6.2 함수인라인하기 간접호출은 유용할 수 있지만 쓸데없는 간접 호출, 과하게 쓰이는 간접호출은 거슬리니 함수를 인라인하자. 6.3 변수 추출하기 표현식이 복잡해서 이해하기 어려울 때 짖역 변수를 활용해 표현식을 관리하기 쉽게 만들자. 6.4 변수 인라인하기 추출한 변수가 표현식과 다를 바 없을 때 변수를 인라인 하자. 6.5 함수 선언 바꾸기 더 좋은 함수 이름이 떠오른다면 바꾸자. 주석을 작성해보면 함수의 이름이 역으로 떠오를 수도 있다. 6.6 변수 캡슐화하기 데이터를 옮길(변경).. 2023. 2. 22.
가장 큰 수(프로그래머스 level2) def binary_change(x): b = '' while x > 0: y1, y2 = divmod(x, 2) x = y1 b += str(y2) return b[::-1] def solution(n): answer=0 one_count = binary_change(n).count('1') while n: n+=1 n_bin = binary_change(n) if one_count == n_bin.count('1'): answer = n break return answer 문제의 조건에 맞추어 함수를 작성였다. binary_change는 십진수를 이진수를 변환하는 코드. solution은 기존의 n 에서 1씩 더해서 이진수로 변환하여 '1'의 개수를 세고, 처음 n일 때의 이진수의 '1'의 개수와 동.. 2021. 1. 21.
728x90
반응형