전체 글

    Python 백준 2108 통계학

    Python 백준 2108 통계학 www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net import sys from collections import Counter import math input = sys.stdin.readline n = int(input()) nums_list = [] for i in range(n): nums = int(input()) nums_list.append(nums) a = sum(nums_list) / len(nums_list) ar = round(a) print(..

    파이썬 알고리즘 백준 2609

    파이썬 알고리즘 백준 2609 https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net import sys input = sys.stdin.readline num_list = list(map(int, input().split())) # 여기에 num_list = num_list2 이런식으로 해버리면 # 동일한 메모리값을 가지기 떄문에 num_list가 바뀐만큼 num_list2도 바뀐다. num_list2 = num_list[:] # [:] 말고 copy()도 가능함. num_list.sort() num_list2.so..

    Python 백준 9021 괄호

    Python 백준 9021 괄호 www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net import sys input = sys.stdin.readline n = int(input()) def vps(string): stack = [] for i in string: if len(stack) == 0 and i == ')': return 'NO' if i == '(': stack.append(i) else: if stack[-1] == ..

    백준 9461 파도반 수열 / 파이썬 알고리즘

    백준 9461 파도반 수열 / 파이썬 알고리즘 www.acmicpc.net/problem/9461 9461번: 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 www.acmicpc.net n = int(input()) save = { } save[1] = 1 save[2] = 1 save[3] = 1 save[4] = 2 save[5] = 2 for _ in range(n): pn = int(input()) # pn입력값 받고 for k in range(6, pn+1): #하나의 입력값에 대해서 for문을 돌린다. save[k] = save[k-1] + ..

    Python 백준 4948 베르트랑 공준 / 파이썬 알고리즘

    Python 백준 4948 베르트랑 공준 / 파이썬 알고리즘 www.acmicpc.net/problem/4948 4948번: 베르트랑 공준 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼 www.acmicpc.net def sosu(num): for i in range(2, int(num ** 0.5) + 1): if num % i == 0: return False return True sosu_list = [] while True: sosu_list.clear() n = int(input()) if n == 0: break if n == 1: print(..

    Python 백준 알고리즘 2839 설탕배달 파이썬

    Python 백준 알고리즘 2839 설탕배달 파이썬 www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 처음에 한 뻘 짓 #입력값 n = int(input()) a = 3 b = 5 if n % 5 == 0: print(n // 5) elif n % 5 == 3: print(int(n%5 + 1)) elif n%5 = 0 : if n % 5 == 0 : m += (n // 5) # print(m) break n -= 3 m += 1 # else : print(-1) n을 ..

    백준 알고리즘 1316 그룹단어 체크 파이썬

    백준 알고리즘 1316 그룹단어 체크 파이썬 https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 처음에 이렇게 삽질했다... # 단어 갯수 입력값 n = int(input()) #입력받은 단어 리스트 words = [] # 개수 저장 counter = 0 check_list = [] check = True # n의 수만큼 단어 입력값 for i in range(n): word = list(input()) words...

    백준 알고리즘 2606 바이러스 / 파이썬 (Python)

    백준 알고리즘 2606 바이러스 / 파이썬 (Python) https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net N = int(input()) P = int(input()) graph = [[0]*(N+1) for _ in range(N+1)] done = [] # 바이러스가 완료된 애들을 넣어주는구나 for _ in range(P): x, y = map(int, input().split()) graph[x][y], graph[y][x] = 1,1 def..