정렬(18)
-
백준 10989 파이썬 메모리와 시간 초과 sort를 쓰지 않고 intput 대신 int(sys.stdin.readline())
백준 10989 - 수 정렬하기 3 문제 https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 답안 코드 : import sys N = int(sys.stdin.readline()) # 아이디어는 수를 입력받으면서 바로 해당 위치에 출력 x = [0] * 10001 for _ in range(N): num = int(sys.stdin.readline()) x[num] += 1 # 횟수를 기록 # 해당 수의 등장 횟수만큼 출력 for i in range(10001): i..
2024.04.07 -
백준 2751 파이썬 시간초과 sys.stdin.readline()
백준 2751 - 수 정렬하기 2 문제 https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 답안 코드 : import sys N = int(sys.stdin.readline()) x = [] for _ in range(N): x.append(int(sys.stdin.readline())) x.sort() for i in range(N): print(x[i]) 백준 / 문제 / 단계별로 풀어보기 / 13단계 정렬 생각 : N = int(i..
2024.04.06 -
백준 25305 파이썬
백준 25305 - 커트라인 문제 https://www.acmicpc.net/problem/25305 25305번: 커트라인 시험 응시자들 가운데 1등은 100점, 2등은 98점, 3등은 93점이다. 2등까지 상을 받으므로 커트라인은 98점이다. www.acmicpc.net 답안 코드 : N, k = map(int, input().split()) # x = [] # for i in range(N): # x.append(int(input())) x = list(map(int, input().split())) x.sort(reverse=True) cut_line = x[k - 1] print(cut_line) 백준 / 문제 / 단계별로 풀어보기 / 13단계 정렬
2024.04.05 -
백준 2587 파이썬
백준 2587 - 대표값2 문제 https://www.acmicpc.net/problem/2587 2587번: 대표값2 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 + www.acmicpc.net 답안 코드 : x = [] for i in range(5): x.append(int(input())) x.sort() print(int(sum(x)/5)) print(x[2]) 백준 / 문제 / 단계별로 풀어보기 / 13단계 정렬 생각 : 파이썬은 정렬이 쉽다..
2024.04.04 -
백준 2750 파이썬, 단계별로 풀어보기 / 13단계 정렬
백준 2750 - 수 정렬하기 문제 https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 답안 코드 : n = int(input()) L = [] for i in range(n): L.append(int(input())) L.sort() for i in range(len(L)): print(L[i]) 백준 / 문제 / 단계별로 풀어보기 / 13단계 정렬
2024.04.03 -
백준 1517 파이썬 병합정렬 손풀이 플레티넘
백준 1517 - 버블 소트 문제 https://www.acmicpc.net/problem/1517 1517번: 버블 소트 첫째 줄에 N(1 ≤ N ≤ 500,000)이 주어진다. 다음 줄에는 N개의 정수로 A[1], A[2], …, A[N]이 주어진다. 각각의 A[i]는 0 ≤ |A[i]| ≤ 1,000,000,000의 범위에 들어있다. www.acmicpc.net 답안 코드 : import sys input = sys.stdin.readline result = 0 def merge_sort(s, e): global result if e - s < 1: return m = int(s + (e - s) / 2) merge_sort(s, m) # 재귀 함수의 형태로 구현 merge_sort(m + 1, e..
2024.02.22