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

이 포스트에서는 파이썬으로 위드마크 공식을 구현하는 코드를 간략하게 작성합니다. 가수 김호중의 음주운전 사건이 언론에 오르며 떠들썩한 가운데 ‘위드마크 공식’이라는 용어가 나와 화제가 되기도 했습니다. 위드마크 공식이란 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 기반으로 개정됨에 따라 기존의 알고리즘 구현 문제는 폐지되고 프로그래밍 언어 활용으로 대체되어 순서도 빈칸 채우기 … “파이썬으로 구현한 ㄹ자 배열 알고리즘의 예” 더 읽기

파이썬 ncurses 모듈 간단한 예제

※ 이 코드는 ncurses API가 있는 유닉스 기반 운영체제에서만 동작합니다. 혹시 사용하시는 운영체제가 윈도우즈라면, 리눅스를 가상 머신이나 라즈베리 파이 등에 설치해 놓고 실험하시기 바랍니다. 이 포스트에서는 파이썬에서 ncurses 모듈을 다루는 간단한 예제를 수록합니다. 우선, 아래 코드를 봅시다. #!/usr/bin/env python3 #-*- coding = utf-8 -*- import curses def main(stdscr): # Color Pair curses.use_default_colors() curses.init_pair(1, curses.COLOR_WHITE, curses.COLOR_BLACK) … “파이썬 ncurses 모듈 간단한 예제” 더 읽기

파이썬으로 바이오리듬 만들기

이 포스트에서는 파이썬으로 바이오리듬 보는 프로그램을 만드는 방법을 포스팅합니다. 바이오리듬에 관한 위키백과와 나무위키의 설명은 다음과 같습니다: [한국어], [영어], [나무위키] 바이오리듬에 대해 간단히 설명하자면, 인체에 신체, 감성, 지성의 3가지 주기가 있으며 이는 각각 23일, 28일, 33일 주기로 오르락내리락 하면서 사인 곡선을 그린다고 하는 주장입니다. 하지만 과학으로 보기에는 대단히 미흡하여 일종의 점술로 취급되고 있습니다. 각 주기를 구하는 … “파이썬으로 바이오리듬 만들기” 더 읽기

파이썬으로 여덟 개의 퀸 배치 문제 풀기

이 포스트에서는 파이썬으로 여덟 개의 퀸을 배치하는 문제를 푸는 프로그램을 만드는 방법을 설명합니다. 여덟 개의 퀸 배치 문제에 대한 위키백과 설명은 다음과 같습니다: [한국어], [영어] 여덟 개의 퀸 배치 문제는 1848년 막스 베첼(Max Bezzel)이 고안한 체스 퍼즐로, 다음과 같은 규칙을 가지고 있습니다. 8×8 크기의 체스판과 8개의 퀸을 준비합니다. 퀸이 움직일 수 있는 경로는 실제 체스와 … “파이썬으로 여덟 개의 퀸 배치 문제 풀기” 더 읽기