[알고리즘 5.3.9] 기본정렬 - streetree
문제 직선으로 되어있는 도로의 한 편에 가로수가 임의의 간격으로 심어져있다. KOI 시에서는 가로수들이 모두 같은 간격이 되도록 가로수를 추가로 심는 사업을 추진하고 있다. KOI 시에서는 예산문제로 가능한 한 가장 적은 수의 나무를 심고 싶다. 편의상 가로수의 위치는 기준점으로 부터 떨어져 있는 거리로 표현되며, 가로수의 위치는 모두 양의 정수이다. 예를 들어, 가로수가 (1, 3, 7, 13)의 위치에 있다면 (5, 9, 11)의 위치에 가로수를 더 심으면 모든 가로수들의 간격이 같게 된다. 또한, 가로수가 (2, 6, 12, 18)에 있다면 (4, 8, 10, 14, 16)에 가로수를 더 심어야 한다. 심어져 있는 가로수의 위치가 주어질 때, 모든 가로수가 같은 간격이 되도록 새로 심어야 하는 가로..
2019. 4. 25.
[알고리즘 5.3.4] 기본정렬 - PROSJEK
문제 민건이는 수학 수업시간동안 재밌는 방법으로 수학을 연습하고 있다. 먼저 민건이는 정수 수열 A를 작성했다. 그리고 나서 그 아래에 A의 해당 항까지의 평균값을 그 항으로 하는 정수 수열 B를 쓴다. 예를 들어 , 만약 수열 A가 1, 3, 2, 6, 8 이라면 수열 B는 1/1, (1+3)/2 , (1+3+2)/3, (1+3+2+6)/4, (1+3+2+6+8)/5 즉, 1, 2, 2, 3, 4 가 된다. 수열 B가 주어졌을 때 수열 A를 구하는 프로그램을 작성하시오. 입력 첫째줄에 수열 B의 길이를 나타내는 N이 주어진다.(1
2019. 4. 25.
[알고리즘 5.3.3] 기본정렬 - fibonacci
문제 피보나치 수열은 수학에서 아주 유명한 수열이다. 피보나치 수열을 이루는 수들을 피보나치 수라고 한다. 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 F(n)= F(n-1) + F(n-2), (n>=2)가 된다. n이 0 ~ 15일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n이 주어진다. (0 ≤ n ≤ 45) 출력 첫째 줄에 n번째 피보나치 수를 출력한다. 예제 입력 10 예..
2019. 4. 25.
[알고리즘 5.3.1] 기본정렬 - nextnum
문제 위키피디아에 따르면 등차수열 AP는 연속되는 두 숫자의 차가 같은 숫자들이 연속되는 수열이다. 예를 들어, 수열 3,5,7,9,11,13…. 은 공차(연속된 숫자의 차이) 2를 가지는 등차수열이다. 이 문제에서 공차는 0이 아닌 정수이다. 등비수열 GP는 이전의 숫자에 0이 아닌 공비(연속된 숫자의 비율)를 곱하여 구하는 수열이다. 예를 들어 수열 2,6,18,54 는 공비가 3인 등비수열이다. 이 문제에서 공비는 0이 아닌 정수이다. 수열을 구성하는 세 개의 숫자가 주어졌을 때, 주어진 수열이 등차 수열인지 등비수열인지를 결정하고, 다음에 연속될 숫자를 결정하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각각의 케이스는 3개의 정수 a1, a2, a3가 한줄로 ..
2019. 4. 25.