파이썬으로 위드마크 공식 구현해 보기

이 포스트에서는 파이썬으로 위드마크 공식을 구현하는 코드를 간략하게 작성합니다. 가수 김호중의 음주운전 사건이 언론에 오르며 떠들썩한 가운데 ‘위드마크 공식’이라는 용어가 나와 화제가 되기도 했습니다. 위드마크 공식이란 1931년 스웨덴의 생리학자 에릭 마테오 프로셰 위드마크(Erik Matteo Prochet Widmark)가 고안한 공식으로, 음주운전 후 너무 오랜 시간이 지나 정확한 혈중 알코올 농도를 알 수 없을 경우 음주운전 시점의 혈중 … “파이썬으로 위드마크 공식 구현해 보기” 더 읽기

파이썬으로 콰인 만들기

이 포스트에서는 파이썬으로 콰인을 만드는 방법을 서술합니다. 콰인(Quine)은 미국의 철학자 윌러드 밴 오먼 콰인(Willard Van Orman Quine)에서 유래한 것으로, 자기 자신의 소스 코드를 출력하는 프로그램을 말합니다. 소스 코드와 출력 결과가 토씨 하나 틀리지 않고 완전히 같아야 하기 때문에 만들기가 까다로운 것으로 알려져 있는데, 파이썬에서는 문자열 포매팅 기호를 이용해 좀 더 간단하게 만들 수 있습니다. 우선 … “파이썬으로 콰인 만들기” 더 읽기

파이썬으로 피즈버즈 숫자 출력 프로그램 만들기

파이썬으로 만든 피즈버즈(FizzBuzz) 출력 프로그램 예제입니다. 피즈버즈 게임이란 우리나라의 369 게임과 비슷한 놀이로, 숫자를 1부터 하나씩 늘려가면서 부르되 3의 배수인 경우 ‘Fizz’로, 5의 배수인 경우 ‘Buzz’로, 3의 배수이면서 동시의 5의 배수인 경우 ‘FizzBuzz’로 부르는 놀이입니다. 여기서는 1부터 100까지의 숫자 중에서 Fizz와 Buzz를 출력하는(둘 다 아닌 경우 그 숫자를 출력) 예를 보여드립니다. for i in range(1, … “파이썬으로 피즈버즈 숫자 출력 프로그램 만들기” 더 읽기

파이썬으로 소인수분해 알고리즘 구현하기

이 포스트에서는 파이썬으로 소인수분해 알고리즘을 구현한 예를 소개합니다. 다음 코드를 봅시다. n = input(“2 이상의 자연수를 입력하세요: “) try: n = int(n) except ValueError: n = 0 if n >= 2: # Right print(“소인수분해할 수는 %d입니다.” % n) factorized_array = [] # Init m = n div, deg = 2, 0 while m > 1 … “파이썬으로 소인수분해 알고리즘 구현하기” 더 읽기

파이썬으로 구현한 체스판식 2차원 배열 채우기

이 포스트에서는 파이썬으로 체스판식 2차원 배열 채우기 알고리즘을 구현한 예를 소개합니다. 앞서 포스팅한 파이썬으로 구현한 ㄹ자 배열 알고리즘의 예를 응용하여, 이번에는 체스판식으로 채우는 예제를 파이썬으로 구현해 보았습니다. 구현하기에 앞서, 다음과 같이 가상의 과제를 설정하였습니다. 《과제》 코로나19의 확산을 막기 위해 정부는 사회적 거리두기 정책을 시행하고 있다. 이에 어느 한 소극장에서는 정부의 사회적 거리두기 정책에 동참하기 위해 … “파이썬으로 구현한 체스판식 2차원 배열 채우기” 더 읽기

파이썬으로 구현한 달팽이집 배열 알고리즘의 예

이 포스트에서는 파이썬으로 달팽이집 배열 알고리즘을 구현한 예를 소개합니다. 개정되기 전의 정보처리기사 실기 문제 중에 2차원 배열에 숫자를 달팽이집 형태로 1씩 증가시켜서 넣는 알고리즘을 구현하는 문제가 있었습니다. 여기서는 이 알고리즘을 구현해 보았습니다. 코드는 다음과 같습니다. ※주: 정보처리기사 시험은 2020년부터 NCS 기반으로 개정됨에 따라 기존의 알고리즘 구현 문제는 폐지되고 프로그래밍 언어 활용으로 대체되어 순서도 빈칸 채우기 … “파이썬으로 구현한 달팽이집 배열 알고리즘의 예” 더 읽기

파이썬으로 구현한 ㄹ자 배열 알고리즘의 예

이 포스트에서는 파이썬으로 ㄹ자 배열 알고리즘을 구현한 예를 소개합니다. 개정되기 전의 정보처리기사 실기 문제 중에 2차원 배열에 숫자를 ㄹ자로 넣는 알고리즘을 구현하는 문제가 있었습니다. 여기서는 이 알고리즘을 약간 다른 형태로 구현해 보았습니다. 코드는 다음과 같습니다. ※주: 정보처리기사 시험은 2020년부터 NCS 기반으로 개정됨에 따라 기존의 알고리즘 구현 문제는 폐지되고 프로그래밍 언어 활용으로 대체되어 순서도 빈칸 채우기 … “파이썬으로 구현한 ㄹ자 배열 알고리즘의 예” 더 읽기

파이썬으로 만든 가상 웹 서버 프로그램

파이썬으로 가상 웹 서버 프로그램을 만들어 보았습니다. 주의: 이 프로그램을 실제 운영할 웹 페이지의 서비스 용도로 사용하는 것은 권장되지 않습니다. 따라서 프론트엔드 웹 디자인을 실험하기 위한 용도 등으로만 사용하시는 것을 권장합니다. 파이썬으로 간단한 웹 서버 구성해 보기 포스트에서 가상 웹 서버 구현에 관한 내용을 포스팅한 바 있는데, 해당 포스트에서는 좀 긴 명령어를 입력해야 한다는 단점이 … “파이썬으로 만든 가상 웹 서버 프로그램” 더 읽기

파이썬으로 만든 윈도우 명령 프롬프트용 지뢰찾기 게임

파이썬으로 윈도우 명령 프롬프트용 지뢰찾기 게임을 만들어 보았습니다. 구현 사항은 다음과 같습니다. 4가지 난이도 (쉬움, 중간, 어려움, 사용자 지정) 임시 표시(? 표시)가 가능하도록 구현 지뢰가 있는 칸이 첫 클릭에 열리지 않음 키 조작은 다음과 같습니다. 화살표: 이동 Z: 칸 열기 (열리지 않은 칸에만) X: 깃발 표시/해제 C: 임시 표시/해제 A: 자동으로 인접칸 열기 (숫자칸과 인접한 … “파이썬으로 만든 윈도우 명령 프롬프트용 지뢰찾기 게임” 더 읽기

정규표현식의 탐욕적 수량자와 게으른 수량자

이 포스트에서는 정규 표헌식에서 탐욕적 수량자와 게으른 수량자의 차이에 대해 설명합니다. 정규 표현식을 사용할 때 의도와는 달리 너무 넓은 범위가 검색되는 경우가 있는데 이 경우는 게으른 수량자를 사용해야 할 상황에서 탐욕적 수량자를 사용한 경우일 수 있습니다. 다음과 같은 파이썬 코드를 봅시다. import re strs = ‘[서울] [광명] [천안아산] [오송] [대전] [김천구미] [동대구] [신경주] [울산] [부산]’ … “정규표현식의 탐욕적 수량자와 게으른 수량자” 더 읽기