-
[ 정렬 ] 두 배열의 원소 교체알고리즘/이코테 - 실전 2021. 8. 10. 16:32
난이도 : 하 풀이시간 : 20분 시간제한 : 2초 [ 정렬 ] 두 배열의 원소 교체 동빈이는 두 개의 배열 A와 B를 가지고 있다. 두 배열은 N개의 원소로 구성되어 있으며, 배열의 원소는 모두 자연수이다 동빈이는 최대 K 번의 바꿔치기 연산을 수행할 수 있는데, 바꿔치기 연산이란 배열 A에 있는 원소 하나와 배열 B에 있는 원소 하나를 골라서 두 원소를 서로 바꾸는 것을 말한다 동빈이의 최종 목표는 배열 A의 모든 원소의 합이 최대가 되도록 하는 것이며, 여러분은 동빈이를 도와야한다 N, K, 그리고 배열 A와 B의 정보가 주어졌을 때, 최대 K 번의 바꿔치기 연산을 수행하여 만들 수 있는 배열 A의 모든 원소의 합의 최댓값을 출력하는 프로그램을 작성하라 예를 들어 N = 5, K = 3이고, 배열 ..
-
[ 정렬 ] 성적이 낮은 순서로 학생 출력하기알고리즘/이코테 - 실전 2021. 8. 10. 16:05
난이도 : 하 풀이시간 : 20분 시간제한 : 1초 [ 정렬 ] 성적이 낮은 순서로 학생 출력하기 N명의 학생 정보가 있다. 학생 정보는 학생의 이름과 학생의 성적으로 구분된다. 각 학생의 이름과 성적 정보가 주어졌을 때 성적이 낮은 순서대로 학생의 이름을 출력하는 프로그램을 작성하시오. :: 입력 조건 첫 번째 줄에 학생의 수 N이 입력된다.(1 n; vector score; for (int i = 0; i > name >> s; score.push_back(make_pair(name, s)); } for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { if(score[i].se..
-
[ 정렬 ] 위에서 아래로알고리즘/이코테 - 실전 2021. 8. 10. 13:54
난이도 : 하 풀이시간 : 15분 시간제한 : 1초 [ 정렬 ] 위에서 아래로 하나의 수열에는 다양한 수가 존재한다. 이러한 수는 크기에 상관없이 나열되어 있다. 이 수를 큰 수부터 작은 수의 순서로 정렬해야 한다. 수열을 내림차순으로 정렬하는 프로그램을 만드시오. :: 입력 조건 첫째 줄에 수열에 속해 있는 수의 개수 N이 주어진다.(1 n; for (int i = 0; i > k; nums.push_back(k); } for (int i = 0; i < n; i++) { for (int j = i+1; j < n; j++) { if (nums[i] < nums[j]) { int tmp = nums[i]; nums[i] = nums[j]; nums[j] = t..
-
[ DFS | BFS ] 미로 탈출알고리즘/이코테 - 실전 2021. 7. 28. 18:41
난이도 : 중하 풀이시간 : 30분 시간제한 : 1초 [ DFS | BFS ] 미로 탈출 N x M 크기의 직사각형 형태의 미로에 여러 마리의 괴물이 있어 이를 피해 탈출해야 한다. 현재 위치는 (1, 1)이고 미로의 출구는 (N,M)의 위치에 존재하며 한 번에 한 칸씩 이동할 수 있다. 괴물이 있는 부분은 0으로, 괴물이 없는 부분은 1로 표시되어 있다. 미로는 반드시 탈출할 수 있는 형태로 제시된다. 탈출하기 위해 움직여야 하는 최소 칸의 개수를 구하라. 칸을 셀 때는 시작 칸과 마지막 칸을 모두 포함해서 계산한다. :: 입력 조건 첫째 줄에 두 정수 N, M(4 = m) { continue; } if (map[new_x][new_y] == 0) { continue; } if (map[new_x][n..