[Python] 백준 알고리즘 온라인 저지 2108 통계학 https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 이번 문제에서도 파이썬의 기본 내장 함수를 주로 사용하였고 최빈값을 구하는 방법이 어려운 문제였다. 최빈값을 구하기 위해 다른 모듈을 가져와 문제를 풀었다. 코드 import sys from collections import Counter n = int(sys.stdin.readline()) nums = [] for i in range(n): nums...
[Python] 백준 알고리즘 온라인 저지 10989번 수 정렬하기 3 https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 저번 문제에서는 빠른 연산이 필요했다면 이번 문제에서는 메모리를 적게 차지하는 방법을 찾아야 했다. 수 정렬하기 2번에서는 256 MB의 메모리 값을 사용 가능했지만 여기서는 8 MB뿐이다. 코드 import sys n = int(sys.stdin.readline()) nums = [0] * 10001 for _ in range(n): nums[..
[Python] 백준 알고리즘 온라인 저지 2751번 수 정렬하기 2 https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 2750번과 문제는 같지만 시간 초과로 결과가 나와 더 빠른 방법을 찾는 것이 필요했다. 코드 import sys n = int(sys.stdin.readline()) nums = [] for _ in range(n): nums.append(int(sys.stdin.readline())) for i in sorted(..
[Python] 백준 알고리즘 온라인 저지 2750번 수 정렬하기 https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 오랜만에 쉬운 문제가 나와서 가벼운 마음으로 풀이하였다. 코드 n = int(input()) nums = [] for _ in range(n): nums.append(int(input())) nums.sort() for i in range(len(nums)): print(nums[i]) 풀이 입력 값(n)을 받아 n개의 수를 리스트 안에 추..
[Python] 백준 알고리즘 온라인 저지 1436번 영화감독 숌 https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net 처음에는 단순히 n-1을 앞에 붙이는 문제라고 생각하고 쉽다고 생각했다.😓 일단 문제를 풀기 위해서는 666이라는 숫자를 포함한 n번째로 작은 수를 찾는 것이라는 걸 이해해야 한다. ex) 첫 번째로 작은 666을 포함하는 수 = 666, 두 번째 = 1666, 300번째 = 110666 코드 n = int(input()) apo..
[Python] 백준 알고리즘 온라인 저지 1018번 체스판 다시 칠하기 https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 처음에는 문제를 잘못 이해하여 쉬운 문제라고 생각하고 풀었다가 좌절을 맛봤다. 다른 분들의 풀이를 참고하여 풀 수 있었다. 이 문제에서도 브루트 포스를 사용하고 8x8 크기의 체스판을 모두 비교하여 가장 적은 칸을 칠하는 값을 구하는 문제이다. 코드 n, m = map(int, input().split()) chess..