[C++] 3의 개수 구하기
[문제] 자연수 N이 입력되면 1부터 N까지의 자연수를 나열 할 때 3의 개수가 총 몇개인지 출력하는 프로그램을 만들어라. [입력예제] 15 [출력예제] 2 1부터 15까지는 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5으로 3의 개수는 총 2개이다. [코드 1] #include #include using namespace std; int main(int argc, const char * argv[]) { int n, count = 1, num, tmp; //1 cin >> n; //3 if(n>=13){ for(int i=13; i0){ tmp = num%10; if(tmp==3) count++; num/=10; } } } //4 if(n..
[C++] 마라톤
[문제] KSEA 장거리 달리기 대회가 진행되어 모든 선수가 반환점을 넘었다. 각 선수의 입장에서 자 기보다 앞에 달리고 있는 선수들 중 평소 실력이 자기보다 좋은 선수를 남은 거리 동안 앞지르는 것은 불가능하다. 반대로, 평소 실력이 자기보다 좋지 않은 선수가 앞에 달리고 있으면 남은 거리 동안 앞지르는 것이 가능하다. 이러한 가정 하에서 각 선수는 자신이 앞으로 얻을 수 있는 최선의 등수를 알 수 있다. 각 선수의 평소 실력은 정수로 주어지는데 더 큰 값이 더 좋은 실력을 의미한다. 현재 달리고 있는 선수를 앞에서 부터 표시했을 때 평소 실력이 각각 2, 8, 10, 7, 1, 9, 4, 15라고 하면 각 선수가 얻을 수 있는 최선의 등수는 (같은 순서로) 각각 1, 1, 1, 3, 5, 2, 5, ..
[C++] Jolly Jumpers
[문제] N개의 정수로 이루어진 수열을 입력받아 서로 인접해 있는 두 수의 차가 1에서 N-1까지의 값을 모두 갖게 되는 수열을 Jolly Jumper라고 한다. 입력받은 수열이 Jolly Jumper가 맞는지 아닌지를 출력해주는 프로그램이다. [입력 예제] 5 1 4 2 3 7 [출력 예제] YES 5개의 숫자 [1, 4, 2, 3, 7]을 입력받았다. 각각 인접한 숫자의 차는 [3, 2, 1, 4]로 1부터 4까지의 숫자를 모두 갖게 되어 Jolly Jumper의 조건에 맞았다. 그렇기에 YES를 출력하였다. [코드] #include #include //abs() using namespace std; int main(int argc, const char * argv[]) { int n, pre, no..
[C++] 온도의 최대값
[목적] N일간의 온도를 입력받아 K일 간격으로 온도를 더한 값(온도) 중 가장 큰 값을 출력하는 프로그램이다. [입력 예제] 10 2 3 -2 -4 -9 0 3 7 13 8 -3 [출력 예제] 21 10일 동안의 온도를 [3, -2, -4, -9, 0, 3, 7, 13, 8, -3]과 같이 측정하였으며, 이틀간의 온도를 더하여 가장 큰 온도를 알아내야 한다. 3 + (-2) = 1 -2 + (-4) = -6 . . . 7 + 13 = 20 13+8 = 21 8 + (-3) = 5 와 같은 더한 결과를 확인할 수 있으며, 이 중 가장 큰 합은 13과 8을 더한 21이기에 21을 출력한다. [코드 1] #include using namespace std; int main(int argc, const cha..