본문 바로가기
반응형

전체 글87

[백준/Python] 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()) a = list(map(int, input().split())) a.sort(reverse=True) print(a[k-1]) 2023. 1. 2.
[백준/Python] 2563번 색종이 https://www.acmicpc.net/problem/2563 2563번: 색종이 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 www.acmicpc.net v = int(input()) # 100*100 배열 선언 arr = [[0] * 100 for _ in range(100)] cnt = 0 for _ in range(v): a, b = map(int, input().split()) # 색종이 크기가 도화지를 넘어 갈 경우 if b + 10 >= 100 and a + 10 >= 100: for i in range(b, 100): for j in ra.. 2023. 1. 2.
[백준/Python] 2566번 : 최댓값 https://www.acmicpc.net/problem/2566 2566번: 최댓값 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다. www.acmicpc.net a = [] ma = 0 de = 0 b = 0 for i in range(9): a.append(list(map(int, input().split()))) for i in range(9): if ma < max(a[i]): ma = max(a[i]) # 최댓값 de = a[i].index(ma) # 열 인덱스 b = i # 행 인덱스 print(ma) print(b + 1, de + 1) 생각 나는대로 풀이해봄. 2023. 1. 2.
[백준/Python] 2738번 : 행렬 덧셈 https://www.acmicpc.net/problem/2738 2738번: 행렬 덧셈 첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같 www.acmicpc.net n, m = map(int, input().split()) a = [] b = [] c = [[] * m for i in range(n)] for i in range(n): a.append(list(map(int, input().split()))) for i in range(n): b.append(list(map(int, input().split()))) for i in range(.. 2023. 1. 2.
정렬 알고리즘_계수 정렬 # 모든 원소의 값이 0보다 크거나 같다고 가정 array = [7, 5, 9, 0, 3, 1, 6, 2, 9, 1, 4, 8, 0, 5, 2] # 모든 범위를 포함하는 리스트 선언 크기: 가장큰값 +1(모든 값은 0으로 초기화) count = [0] * (max(array)+1) for i in range(len(array)): count[array[i]] +=1 # 각 데이터에 해당하는 인덱스의 값 증가 for i in range(len(count)): # 리스트에 기록된 정렬 정보 확인 for j in range(count[i]): # print(i,end=' ') #인덱스 출력 2022. 12. 29.
정렬 알고리즘_ 퀵 정렬 array = [5, 7, 9, 0, 3, 1, 6, 2, 4, 8] def quick_sort(array, start, end): if start >= end: # 원소가 1개인 경우 종료 - 종료조건 return pivot = start # 피벗은 첫 번째 원소 left = start + 1 right = end while left right: # 엇갈렸다면 작은 데이터와 피벗을 교체 array[right], array[pivot] = array[pivot], array[right] else: # 엇갈리지 않았다면 작은 데이터와 큰 데이터를 교체 array[left], array[right] = array[right], array[left] # 분할 이후 왼쪽 부분과 오른쪽 부분에서 각각 정렬 수행 .. 2022. 12. 29.
반응형