2023. 3. 2. 15:55ㆍPS (Program Solving)/BOJ (백준)
문제 설명
https://www.acmicpc.net/problem/9713
9713번: Sum of Odd Sequence
First line of the input contains T, the number of test cases. Each test case contains a single integer N. N is between 1 and 100.
www.acmicpc.net
접근 방법 - 반복문을 이용한 기본적인 사칙연산 문제
백준의 9713번 문제는 반복문을 응용하여 해결할 수 있는 기본적인 사칙연산 문제이다.
해당 문제는, 1부터 각 테스트 케이스에서의 입력값까지 하여 모든 홀수의 합을 구하여 출력해야 하는 문제이다.
이 문제는 반복문을 어느 정도 응용해 볼 줄 안다면 비교적 쉽게 해결할 수 있을 것으로 예상된다.
다만 문제에 있는 예제 입력이 혼동을 줄 수도 있는데, 이 문제는 입력값들을 순차적으로 더하는 문제가 아니다.
홀수들이 오름차순으로 나열되어 있을 뿐이지 엄연히 각각 테스트 케이스들이기 때문에 이 점만 오해하지 않으면 된다.
안 그래도 영어 지문인 데다 입력도 이렇게 되어있어서 필자도 처음엔 오해했다 카더라
혹여나 해당 문제를 해결하는 데에 어려움을 겪고 있다면, 아래의 설명과 코드를 참고해 보길 바란다.
필자는 아래의 순서대로 코드를 작성하여 문제를 해결하였다.
코드의 실행 순서
1) 테스트 케이스들의 수(n)를 입력받는다.
2) n의 크기만큼, 반복문을 실행하여 아래의 연산을 수행한다.
- 값(num)을 입력받는다.
- 1부터 num까지의 홀수 합을 저장할 변수 sum을 0으로 초기화하여 선언한다.
- 1부터 num까지의 범위에 있는 홀수들을 순차적으로 sum에 더하도록 한다.
- 덧셈 연산이 모두 완료되었다면, 최종적으로 저장된 sum을 출력하도록 한다.
3) 모든 테스트 케이스들이 수행되었다면, 실행 종료한다.
성공한 코드
#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <iostream>
#define endl '\n'
using namespace std;
//백준 9713번 코드
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
int n;
cin >> n;
for (int i = 0; i < n; i++) {
int num;
cin >> num;
int sum = 0;
for (int j = 1; j <= num; j += 2) {
sum += j;
}
cout << sum << endl;
}
}
제출 결과
(2023.02.08 백준 9713번 문제 제출 결과)
'PS (Program Solving) > BOJ (백준)' 카테고리의 다른 글
[백준 BOJ] 10156번 과자 (C++/cpp) (0) | 2023.03.06 |
---|---|
[백준 BOJ] 18258번 큐 2 (C++/cpp) (0) | 2023.03.02 |
[백준 BOJ] 18398번 HOMWRK (C++/cpp) (0) | 2023.02.28 |
[백준 BOJ] 1697번 숨바꼭질 (C++/cpp) (0) | 2023.02.27 |
[백준 BOJ] 6996번 애너그램 (C++/cpp) (0) | 2023.02.23 |