반응형
반응형
https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 난이도: solved.ac 실버 5 이분 탐색을 활용하는 문제다 이분 탐색이란, 업다운 게임과 같은 방식으로 탐색을 하는 것이다 A가 1부터 50까지의 수 중에서 마음속으로 18이라는 수를 생각했고 B는 그 수를 맞춰야 하는 상황이라고 해보자 B: 음... 25? A: DOWN (25보다 작으므로) B: 12! A: UP (이제 B는 그 수가 12보다는 크..
https://www.acmicpc.net/problem/1715 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net 난이도: solved.ac 골드 4 처음에 문제 풀이를 시도했을 때 이게 골드 4? 너무 쉬운데? ㅋㅋㅋㅋㅋㅋ 하고 답안을 제출했지만 틀렸습니다 ....? '어디가 틀린 거지?' 하고 의아했던 문제다 이 문제에서 주의할 점 두 가지가 있다 1. 비교할 카드 묶음의 개수가 남아있는 카드 묶음 중 최소가 되어야 하는 점 2. N = 1일 때는 비교할 대상이 없으므로 0이 출력되어야 한다..
https://www.acmicpc.net/problem/2847 2847번: 게임을 만든 동준이 학교에서 그래픽스 수업을 들은 동준이는 수업시간에 들은 내용을 바탕으로 스마트폰 게임을 만들었다. 게임에는 총 N개의 레벨이 있고, 각 레벨을 클리어할 때 마다 점수가 주어진다. 플레이어 www.acmicpc.net 레벨의 점수가 그 다음 레벨의 점수보다 더 낮도록 만들어야 한다 점수를 깎는 횟수가 최소가 되어야 하므로 맨 마지막 레벨의 게임(N번째 게임)부터 시작해 아래로 내려가면서 점수를 깎는 게 효율적이다 i - 1 번째 게임의 점수가 i 번째 게임의 점수보다 크거나 같으면 i 번째 게임의 점수보다 1 더 작아지도록 깎아준다 #define _CRT_SECURE_NO_WARNINGS #include ..
https://www.acmicpc.net/problem/1449 1449번: 수리공 항승 첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나 www.acmicpc.net 난이도: solved.ac 실버 3 물이 새는 위치를 수직선 위에 표시한다고 해보자 (테이프의 길이) - 1보다 물이 새는 위치의 간격이 작으면 한 테이프로 이어붙일 수 있다 (양 끝에 0.5 간격은 남겨야하기 때문) 일단 위치를 크기순으로 나타내기 위해 qsort를 이용해 정렬시켜주었다 그리고 맨 첫번째 구멍 위치부터 시작해 기준이 되는 위치부터 다음 구멍의 위치까지의 길이를 파..
https://www.acmicpc.net/problem/2864 2864번: 5와 6의 차이 첫째 줄에 두 정수 A와 B가 주어진다. (1
https://www.acmicpc.net/problem/1049 1049번: 기타줄 첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주 www.acmicpc.net 난이도: solved.ac 실버 4 #define _CRT_SECURE_NO_WARNINGS #include int main() { int N, M, i; int min[2] = {1000, 1000};// min[0]: 패키지 최소 가격, min[1]: 낱개 최소 가격 int six, one, sum = 0; scanf("%d %d", &N, &M); for (i = 0; i < M; i++..