본문 바로가기

전체 글110

[C++] 더하기 사이클 :: 1110번 문제 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다. 위의 예는 4번 만에 원래 수로 돌아올 수 있다. 따라서 26의 사이클의 길이는 4이다. N이 주어졌을 때, N의 사이클의 길이를 구하는 프로그램을 작성하시오. 풀이 먼저.. 2022. 6. 18.
[C++] EOF를 활용한 두 수의 합 입력받기 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 풀이 #include using namespace std; int main() { int a; int b; while(scanf("%d %d", &a, &b) != EOF) cout 2022. 6. 17.
[C++] A + B / 두 수의 합 출력 - 0 입력 시 종료 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 > a >> b; cin.ignore(); if (a != 0 && b != 0) { cout 2022. 6. 17.
[C++] 배열에서 x보다 작은 숫자 출력하기 문제 정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. 풀이 #include using namespace std; int main() { // 수열 최대 숫자, 비교할 숫자 int max; int number; cin >> max >> number; // 수열 int* list = new int[max]; cin.ignore(); // enter 입력 방지 // 수열 입력 받기 for (int i = 0; i < max; i++.. 2022. 6. 17.
[C++] 별 찍기 - 2 / 오른쪽 정렬로 찍기 문제 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. 예제 출력 * ** *** **** ***** 풀이 #include using namespace std; int main() { int num; cin >> num; for (int i = 1; i = 1; j--) { // j 만큼 공백을 찍다가 j가 층 수인 i보다 같아질 때 부터 // 남은 갯수만큼은 별을 찍는다. if (j 2022. 6. 17.
[C++] 별 찍기 - 1 문제 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 풀이 #include using namespace std; int main() { int num; cin >> num; for (int i = 1; i 2022. 6. 17.