문제 링크 https://www.acmicpc.net/problem/1655 1655번: 가운데를 말해요 첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 백준이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net ◆문제 해결 및 설명◆ 문제 해설 : 백준이가 정수를 하나씩 외칠때마다 동생은 지금까지 백준이가 말한 수 중에서 중간값을 말해야 한다. 만약, 그동안 백준이가 외친 수의 개수가 짝수개라면 중간에 있는 두 수 중에서 작은 수를 말해야 한다. 시간 제한이 0.1초임으로 정렬이되는 자료형에서 중간을 빠르게 뽑아낼 수 있어야 한다. 그런 자료형이 있던가... 생각하다가 다른분의..
문제 링크 https://www.acmicpc.net/problem/2563 2563번: 색종이 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변 www.acmicpc.net ◆문제 해결 및 설명◆ 문제 해설 : 100x100 도화지에 10x10 색종이들을 붙이고 도화지가 가려진 넓이를 출력하여라. 두가지 방법이 떠올랐는데, 좌표를 사용하여 마지막 결과값을 계산하기와 이차원 배열을 구현하여 직접 칠하는 방법이 떠올랐다. 하지만 색종이가 최대 100장이나 되는데 이를 비교하는것이 직접 칠하는것보다 시간복잡도 측면에서 효율적이지 않다고 생각하고 구현이 복잡함으로 직접 칠하..
문제 링크 https://www.acmicpc.net/problem/10798 10798번: 세로읽기총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’www.acmicpc.net 쉬운 문제지만, 보기 쉽고 최적화를 생각하자 다짐한 기념으로 풀어보았다.◆문제 해결 및 설명◆문제 해설 : 5줄에 걸쳐 입력되는 문자열을 세로로 읽어서 한줄로 출력하여라. 사람이야 Board에 작성하면 세로로 보기 쉽지만, 컴퓨터는 vector의 경우 데이터 접근시 그 행을 캐싱함으로 세로로 읽는데에는 시간이 조금더 소요될 것이라고 생각했다. 따라서 한줄의 입력을 받고 이를 문자의 ..
문제 링크 https://www.acmicpc.net/problem/4781 4781번: 사탕 가게 각 테스트 케이스의 첫째 줄에는 가게에 있는 사탕 종류의 수 n과 상근이가 가지고 있는 돈의 양 m이 주어진다. (1 ≤ n ≤ 5,000, 0.01 ≤ m ≤ 100.00) m은 항상 소수점 둘째자리까지 주어진다. 다음 n개 www.acmicpc.net ◆문제 해결 및 설명◆ 문제 해설 : 사탕 가게에 있는 모든 사탕의 가격과 칼로리가 주어졌을 때, 어떻게 하면 칼로리의 합이 가장 크게 되는지를 구하는 프로그램을 작성하시오. 보자마자 DP를 사용한 배낭문제를 떠올렸고, 이와 다른점은 중복된 캔디를 넣을 수 있음을 파악하고 코드를 작성하였다. 가격이 소수형이라서 이를 정수로 처리하기 위해 100을 곱해주었..