분류 전체보기
-
백준_1026코테 대비 python/백준 2022. 2. 19. 16:33
https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net # 보물 # 길이가 N인 정수 배열 A와 B가 있다. # S값을 가장 작게 만들기 위해 A의 수를 재배열하자. # 단, B에 있는 수는 재배열 하면 안 된다. # S의 최솟값을 출력하는 프로그램을 작성하시오. N = int(input()) A= list(map(int,input().split())) B= list(map(int,input().split())) #B의 값에 따라 무조건 A값 ..
-
백준_1931코테 대비 python/백준 2022. 2. 19. 15:32
https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net #백준 연습문제 회의실 배정 #각회의 I에 대하여 시작과 끝 정해져 있고 각회의가 겹치지 않게 최대 개수 찾기 N = int(input()) #무조건 회의시간이 적으면 이득? #(1,4),(5,7),(8,11),(12,14) a=[] for i in range(N): s,e=map(int, input().split()) a.append([s,e,e-s]) #앞자리 수 가장 작은수 => 시작과 끝 가장작은수 => ???? #회의 시간이 24시간이 아닌것에 주목? #가장 작은 회의시간에서 스타트?? # 시작시간 정렬..
-
1이 될 때 까지코테 대비 python/백준 2022. 2. 18. 16:35
출처: 이코테 # 어떤수 N이 1이 될때 까지 두과정중 한가지를 반복적으로 시행 2번은 N이 K로 나누어 떨어질 때만 가능 N,K= map(int,input().split()) #사실상 1빼는 것보다 나누는게 무조건 이득인 상황 따라서 그리디 #카운트 초기화 count =0 #1일 때까지 계속 해야되므로 while문 사용 while N!=1: if N%K==0: N= N//K count+=1 else: N-=1 count+=1 print(count) =================================================== #답지 풀이 1 n, k =map(int, input().split()) result = 0 while n >=K: while n%k !=0: n-=1 result ..
-
숫자 카드 게임코테 대비 python/백준 2022. 2. 18. 14:04
출처: 이코테 #각 행마다 가장작은 수를 찾고 그중 가장큰 수 뽑아야함 n, m = map(int, input().split()) card_min=[] for i in range(n): a= list(map(int, input().split())) #리스트에 각 행의 최솟값들 저장 card_min.append(min(a)) #리스트 정렬로 줄세우기 card_min = sorted(card_min) card_min result = card_min[n-1] print(result) ======================================= #답지 풀이1 n,m = map(int, input().split()) result = 0 for i in range(n): data = list(map(in..
-
큰 수의 법칙코테 대비 python/백준 2022. 2. 18. 13:37
출처: 이코테 #가장큰수와 두번째수 만 구하면 된다는 생각을 떠올리기!! n,m,k= map(int,input().split()) a = list(map(int, input().split())) #m번 더하기, k=연속해서 더해지는수 #순서대로 정렬 = > 두번째수 찾기위해서 a=sorted(a) a max_1 = a[n-1] max_2 = a[n-2] result= (m//k)*max_1*k+(m%k)*max_2 print(result) ========================================== n,m,k =map(int,input().spilt()) data = list(map(int, input().split())) data.sort() first = data[n-1] second..
-
거스름 돈코테 대비 python/백준 2022. 2. 18. 12:58
#손님에게 거슬러 줘야 할 돈이 N원일 때 거슬러 주야할 동전의 최소 갯수 구하기 # 동전의 최소 갯수 # 500원, 100원, 50원, 10원 # N = int(input()) #큰 수 먼저 change = [500,100,50,10] count = 0 for i in change: count+=N//i N=N%i print(count) ======================================== n= 1260 count = 0 coin_types = [500,100,50,10] for coin in coin_types: count+=n//coin n%=coin print(count) 얻은것 1. 리스트 생각하기 2. 나머지 표현 체화
-
두 배열의 원소 교체코테 대비 python/백준 2022. 2. 16. 13:34
출처: 이코테 #N, K 입력받고 map으로 int 화 N,K = map(int , input().split()) #a, b 수열 입력받기 a = list(map(int, input().split())) b = list(map(int, input().split())) # a오름차순 정렬 하고, b 내림차순 정렬 a= sorted(a) b= sorted(b,reverse=True) # 만약 a에서 가장작은 원소가 b에서 가장큰 원소보다 작다면 바꾸고 아니면 멈춤 for i in range(K): if a[i]
-
성적이 낮은 순서로 학생 출력하기코테 대비 python/백준 2022. 2. 16. 12:23
출처: 이코테 # 학생의 정보는 이름, 성적으로 구분 # 성적이 낮은 순서대로 = 내림차순으로 이름 출력 N= int(input()) #딕셔너리 생성 dict = {} #딕셔너리에 쌍추가 for i in range(N): k, v = input().split() v =int(v) dict[k] = v #딕셔너리 튜플 리스트로 바꾸기 a = dict.items() a a = sorted(a, key = lambda x:x[1],reverse=True) #출력 for i in a: print(i[0], end=" ") ====================================== #정수 입력 n= int(input()) #리스트 생성 array = [] #리스트에 append for i in rang..