목록 보기
파이썬 코드 골프
백엔드

파이썬 코드 골프

8퍼센트
8퍼센트
2018년 9월 8일

두줄요약

파이썬으로 중첩 다이아몬드를 출력하는 코드 골프 문제 풀이를 공유했습니다. 문자 수를 줄이는 축약 기법과 가독성 저하의 특성을 함께 설명합니다.

구조와 흐름

  • 최대 크기 정사각형 공백 배열 생성 후 각 다이아몬드 외곽선 중첩 표시
  • 다이아몬드 반지름과 중앙 기준 오프셋을 이용한 네 사분면의 * 좌표 계산
  • 각 행을 문자열로 결합해 오른쪽 공백까지 포함한 출력

해결 방법

  • 주석·불필요한 공백 제거, 한 글자 변수명과 최소 들여쓰기로 551자에서 289자 축소
  • range, '*' 등 반복 요소의 변수 치환과 중간 계산값 재사용으로 271자 축소
  • 정수 나눗셈, 리스트 컴프리헨션, 다중 대입, 한 줄 구문으로 237자 축소

주의할 점

  • 코드 길이 축소에 따른 변수 의미와 전체 로직의 가독성 저하
  • 코드 골프용 축약 기법의 일반 업무 코드 적용 부적합성

적용해볼 점

  • 알고리즘을 먼저 단순화한 뒤 반복 표현과 문법 축약 지점 탐색
  • 코딩 대회를 개발자 참여형 놀이와 문제 해결 훈련의 기회로 활용

다음 읽기

#Python 주제를 이어서 읽기

날짜 구간에 값을 매핑하는 방법 (그리고 RangeKeyDict)

날짜별 정책 값을 조건문 대신 구간 매핑 데이터로 관리하는 방법을 소개했습니다. `RangeKeyDict`로 날짜 범위와 값을 직관적으로 연결할 수 있습니다.

8퍼센트
8퍼센트
백엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...