본문 바로가기

알고리즘48

[Baekjoon] 백준 알고리즘 - 11047: 동전 0 1. 문제 www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 2. 내가 생각했던 풀이과정 이 문제는 그리디이다. 그리디라고 생각한 이유는 입력받는 숫자의 단위의 큰 단위가 항상 작은 단위의 배수이므로 작은 단위의 돈을 종합해 다른 해가 나올수 없기 때문이다. 또한, 그리디라고 힌트를 문제에서 주고 있는데 문제 풀이를 위한 최소한의 갯수를 사용하라고 했기 때문이다. 1) 단위의 갯수와, 돈을 입력받.. 2021. 3. 26.
[Baekjoon] 백준 알고리즘: 11399번- ATM 1. 문제 www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 2. 내가 생각했던 풀이과정 이 문제는 그리디 문제이다. 그리디라고 생각한 이유는 다음과 같다. 그리디 알고리즘이란 매 순간마다 최적의 선택을 하여 정해진 목표까지 계산해 나가는 것이다. 탐욕 알고리즘은 순간순간 최적의 경우만 저장하여 최적의 수로만 진행하면 최적의 해를 구할 수 있다. 대기하는 사람이 '가장 작은 순서'로 기다리게 되면 최적의 해를 구할 수 있기 때문이다. 문제 풀이 요소중에 1명이 끝날 때까지, 기다려야하기 때.. 2021. 3. 23.
[Baekjoon] 백준 알고리즘: 11650 - 좌표정렬하기 1. 문제 www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 2. 내가 생각했던 첫번째 풀이과정 1) 좌표를 list로 입력받는다 2) 입력된 좌표의 x축을 비교하고, 그 다음 y축을 비교한다. 3) 숫자 2개를 비교하여 값에 따라 버블 정렬을 통해 정렬해주려고 했다 4) 시간초과 관계로 다른 풀이 과정을 생각해보게 되었다 3. 내가 생각했던 두번째 풀이과정 sorted() 함수에 대해 찾아보았다. sort.. 2021. 3. 21.
[Baekjoon] 백준 알고리즘: 2750 - 수 정렬하기 1. 문제 www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 2. 내가 생각했던 풀이과정 1) 빈 리스트에 숫자를 입력받는다. 2) 파이썬 sort를 통해 입력받은 숫자를 정렬한다 3) 반복문을 통해 한 줄씩 출력한다 3. 나의 풀이 n = int(input()) temp = [] for i in range(n): temp.append(int(input())) temp.sort() for j in range(n): print(temp[j]) 4. 다른 사람의 풀이 .. 2021. 3. 1.