파이썬 102

[알고리즘 - Python] BOJ 1929

https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net n, m = map(int, input().split()) # 두 개의 자연수 arr = [True] * (m + 1) # True은 소수라는 뜻 arr[0] = arr[1] = False # False은 소수가 아님 # for i in range(2, int((m + 1) ** 0.5)): # 최고 숫자의 루트로 계산해도 되긴 함 for i in range(2, m + 1): # 2부터 최고 숫자까지 에라토스테네스의 체를 계산..

[알고리즘 - Python] BOJ 1978

https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net _ = int(input()) # 필요 없음 N = list(map(int, input().split())) # 숫자들을 입력 받음 arr = [True] * (max(N) + 1) # True은 소수라는 뜻 arr[0] = arr[1] = False # False은 소수가 아님 for i in range(2, max(N) + 1): # 2부터 최고 숫자까지 에라토스테네스의 체를 계산함 if arr[i]: for j in range(i * 2, max(N) + 1,..

[Python] namespace와 함수 (전역변수의 참조와 변경, 그리고 오류가 나는 이유)

우선 코드를 보시죠 def func(): if 10 > m: cnt += 1 m = 5 cnt = 0 func() print(cnt) 실행될까요? 안 됩니다. 오류가 납니다. UnboundLocalError: local variable 'cnt' referenced before assignment 라는 오류가 납니다. 아니 m은 잘만 참조하면서 cnt는 왜 참조 못하지? 라는 생각이 드실겁니다. 결론부터 말하자면 '참조'는 가능하지만 '변경'은 불가능합니다. 사소하지만 매우 중요한 지식입니다. 1. namespace를 나눈 이유 전역 namespace의 변수를 지역 namespace로 가져와서 변경을 못하게 하는 이유는 간단합니다. 그렇게 지역과 전역을 혼동되게 사용한다면 굳이 namespace를 나눈 ..

[알고리즘] 알고스팟 - JUMPGAME

https://algospot.com/judge/problem/read/JUMPGAME algospot.com :: JUMPGAME 외발 뛰기 문제 정보 문제 땅따먹기를 하다 질린 재하와 영훈이는 땅따먹기의 변종인 새로운 게임을 하기로 했습니다. 이 게임은 그림과 같이 n*n 크기의 격자에 각 1부터 9 사이의 정수를 쓴 상 algospot.com import sys input = sys.stdin.readline testcase = int(input()) # 테스트 케이스의 수 def func(start, end): W[start][end] = [0, 0] # 0, 0은 0, 0으로 초기화 C[start][end] = 0 # 0, 0의 count는 0 for i in range(start, n): # ..

[Matplotlib - Python] Matplotlib 라이브러리와 파일 저장, 텍스트 처리, 여러 데이터 처리

기본 데이터 import pandas as pd import matplotlib.pyplot as plt import matplotlib matplotlib.rcParams['font.family'] = 'Malgun Gothic' # Windows # matplotlib.rcParams['font.family'] = 'AppleGothic' # Mac matplotlib.rcParams['font.size'] = 15 matplotlib.rcParams['axes.unicode_minus'] = False x = [1, 2, 3] y = [2, 4, 8] 1. 파일 저장 plt.figure(dpi = 200) plt.plot(x,y) plt.savefig('graph.png', dpi = 100) 이렇..

[Matplotlib - Python] Matplotlib 라이브러리와 꺾은 선 그래프의 여러 설정들

기본 데이터 import matplotlib.pyplot as plt import matplotlib matplotlib.rcParams['font.family'] = 'Malgun Gothic' matplotlib.rcParams['font.size'] = 15 matplotlib.rcParams['axes.unicode_minus'] = False x = [1, 2, 3] y = [2, 4, 8] 아 참고로 title에도 따로 폰트와 size를 설정할 수 있습니다. plt.title('꺽은 선 그래프', fontdict={'family': 'HYGungSo-Bold', 'size':20}) 참고로 fontdict을 쓰지 않고도, plt.title('꺽은 선 그래프', family= 'HYGungSo-..