본문 바로가기

두두의 알고리즘/문제

(124)
[정렬] 난이도1, T 기업 코딩 테스트 '위에서 아래로' (Python) 하나의 수열에는 다양한 수가 존재한다. 이러한 수는 크기에 상관없이 나열되어 있다. 이 수를 큰 수부터 작은 수의 순서로 정렬해야 한다. 수열을 내림차순으로 정렬하는 프로그램을 만드시오. 첫째 줄에 수열이 속해 있는 수의 개수 N이 주어진다. (a
[정렬] 난이도1, 국제 알고리즘 대회 '두 배열의 원소 교체' (Python) 동빈이는 두 개의 배열 A와 B를 가지고 있다. 두 배열은 N개의 원소로 구성되어 있으며, 배열의 원소는 모두 자연수이다. 동빈이는 최대 K 번의 바꿔치기 연산을 수행할 수 있는데, 바꿔치기 연산이란 배열 A에 있는 원소 하나와 배열 B에 있는 원소 하나를 골라서 두 원소를 서로 바꾸는 것을 말한다. 동빈이의 최종 목표는 배열 A의 모든 원소의 합이 최대가 되도록 하는 것이며, 여러분은 동빈이를 도와야 한다. N, K, 그리고 배열 A와 B의 정보가 주어졌을 때, 최대 K 번의 바꿔치기 연산을 수행하여 만들 수 있는 배열 A의 모든 원소의 합의 최댓값을 출력하는 프로그램을 작성하라. 예를 들어 N = 5, K = 3이고, 배열 A와 B가 다음과 같다고 해보자 배열 A = [1, 2, 5, 4, 3] 배열..
[정렬] 난이도1, D 기업 프로그래밍 콘테스트 예선 '성적이 낮은 순서로 학생 출력하기' (Python) N명의 학생 정보가 있다. 학생 정보는 학생의 이름과 학생의 성적으로 구분된다. 각 학생의 이름과 성적 정보가 주어졌을 때 성적이 낮은 순서대로 학생의 이름을 출력하는 프로그램을 작성하시오. 첫 번째 줄에 학생의 수 N이 입력된다. (1
[BFS, Dijkstra] 백준 18352번 '특정 거리의 도시 찾기' (Python) https://www.acmicpc.net/problem/18352 18352번: 특정 거리의 도시 찾기 첫째 줄에 도시의 개수 N, 도로의 개수 M, 거리 정보 K, 출발 도시의 번호 X가 주어진다. (2 ≤ N ≤ 300,000, 1 ≤ M ≤ 1,000,000, 1 ≤ K ≤ 300,000, 1 ≤ X ≤ N) 둘째 줄부터 M개의 줄에 걸쳐서 두 개 www.acmicpc.net 이 문제는 BFS 또는 다익스트라 알고리즘으로 풀 수 있다. BFS로 푸는 법은 다음에 기록할 예정이다. 한 지점에서 다른 특정 지점까지의 최단 경로를 구해야 하므로 다익스트라 알고리즘 사용 M 개수가 1,000,000 이하이므로 input() 보다 빠른 sys.stdin.readline 라이브러리 사용 비용을 구하는 것이 ..

LIST