python 8

[BOJ/11053/Golang&Python] 백준 11053 - 가장 긴 증가하는 부분 수열

[BOJ/11053/Golang&Python] 백준 11053 - 가장 긴 증가하는 부분 수열 문제로 이동하기 https://www.acmicpc.net/problem/11053 접근 방식 가장 긴 증가하는 부분 수열은 Longest Increasing Subsequence 라고도 합니다. 줄여서 LIS라고 하는데요. 대표적인 다이나믹 문제입니다. 이 문제는 1차원 배열로도 풀 수 있습니다. 계단수 문제나 123 더하기 5번 문제처럼 2차원 배열을 사용하지 않아도 되는 이유는 이미 있는 수를 사용하기 때문입니다. 즉, 계단수 문제나 123 더하기 5 문제처럼 마지막에 누가 와야할지 알 수 없는 경우에는 마지막에 올 수를 기록하기 위해 이차원 배열을 사용했지만, LIS의 경우, 어떤 수가 오더라도 해당 수..

PS/BOJ 2021.06.23

[BOJ/11053/Golang&Python] 백준 11053 - 가장 긴 증가하는 부분 수열

[BOJ/11053/Golang&Python] 백준 11053 - 가장 긴 증가하는 부분 수열 문제로 이동하기 https://www.acmicpc.net/problem/11053 접근 방식 가장 긴 증가하는 부분 수열은 Longest Increasing Subsequence 라고도 합니다. 줄여서 LIS라고 하는데요. 대표적인 다이나믹 문제입니다. 이 문제는 1차원 배열로도 풀 수 있습니다. 계단수 문제나 123 더하기 5번 문제처럼 2차원 배열을 사용하지 않아도 되는 이유는 이미 있는 수를 사용하기 때문입니다. 즉, 계단수 문제나 123 더하기 5 문제처럼 마지막에 누가 와야할지 알 수 없는 경우에는 마지막에 올 수를 기록하기 위해 이차원 배열을 사용했지만, LIS의 경우, 어떤 수가 오더라도 해당 수..

PS/BOJ 2021.06.20

[Mac/Python] ARM Mac에서 Pygame 라이브러리 사용하기 (Using pygame library in M1 ARM Mac)

Pygame을 찾아서 Intel을 떠나 ARM Mac으로 이주하게 된 지 얼마 되지 않았지만, 벌써부터 곳곳에서 개발 환경 구축에 어려움을 겪고 있다. 오늘도 어김없이 하드 한 시간을 보냈고, 기억을 위해 기록을 해보고자 한다. pygame 라이브러리를 받아다가 게임이나 만들어볼까 하던 차에, $ python3 -m pip install pygame을 해보았지만, 아래에서 보게 될 에러를 내뿜고 있었다. 에러를 해결하는게 귀찮아서, pygame github release를 확인해보니 intel만 제공하고 있는 것이 아닌가. 눈물을 머금고 구글신께 의탁해 M1 선배님들께서 빌드를 해놓으시지 않을까 하는 일말의 희망을 갖고 열심히 검색해보았지만 허사였다. 눈 앞이 캄캄해지고, 가슴이 턱 막혔다. 별 수 없다..

Apple/Mac 2020.12.25

[Python] import this

[Python] import thispython을 다루다가 이스터에그처럼 보이는 모듈을 만났다. 바로 import this이다. 이스터에그처럼 보였지만, 읽어보고 나면 굉장히 철학적인 글을 보았다는 생각이 들지도 모른다. 12345678910111213141516171819202122232425> python> import this The Zen of Python, by Tim Peters Beautiful is better than ugly.Explicit is better than implicit.Simple is better than complex.Complex is better than complicated.Flat is better than nested.Sparse is better than d..

IT/Python 2018.01.14

[Python] "Python API tutorial - An Introduction to using APIs" - 파이썬 API 튜토리얼 (번역)

Python API tutorial - An Introduction to using APIs API라고 불리는 Application Program Interfaces는 원격 웹 사이트에서 데이터를 검색해오는데 흔히 사용된다. Reddit이나 Twitter, Facebook은 모두 그들의 API를 활용해 특정 데이터를 제공한다. API를 사용하기 위해서는 원격 웹 서버에 요청하고, 필요한 데이터를 검색해야 한다. 하지만 왜 쉽게 다운로드할 수 있는 static dataset 대신에 API를 이용할까? APIs는 다음과 같은 케이스에 유용하다. 데이터가 빠르게 변화하는 경우이다. 주식 가격 데이터를 예로 들 수 있다. 생각해보면, 그 데이터 셋을 매분마다 새로 생성하고 새로 다운로드 받는다는 것은 상식적이지..

IT/Python 2018.01.10

[Python] macOS에 pip로 모듈 설치 시, command not found가 출력되는 경우 해결 방법

[Python] macOS에 pip로 모듈 설치 시, command not found가 출력되는 경우 해결 방법 macOS에 jupyter-notebook을 설치했는데, 실행해보니 "command not found" 에러가 발생하였다. 구글링을 해보니, jupyter 공식 깃헙에서 이에 대한 토론이 이루어지고 있었다.[1] 이 중, 내 경우에 해결된 방법을 소개한다. 다음과 같이 터미널에 명령어를 입력한다. 내 경우 homebrew 패키지 관리자를 이용하고 있어, 3 ~ 4 라인에서 brew 명령어를 통하여 python3을 재설치 하였다. $ sudo rm -rf /Library/Frameworks/Python.framework $ rm /usr/local/bin/python3* $ brew uninst..

IT/Python 2018.01.03

[Python] 알파벳 리스트 만들기

[Python, 파이썬] 알파벳 리스트 만들기> 일일이 입력하지 않고 알파벳 리스트를 만드는 방법에 대해 소개한다. 아래와 같이 string 모듈에서 ascii_lowercase 를 import 한다. 123456from string import ascii_lowercase alpha_list = list(ascii_lowercase) # ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']cs alpha_list를 출력해보면 위처럼 알파벳 소문자들이 리스트로 잘 들어간 것을 볼 수 있다. 만약 대문자 리스트가 필요하다면, a..

IT/Python 2017.12.18