2022. 12. 12. 17:34ㆍPS (Program Solving)/BOJ (백준)
문제 설명
https://www.acmicpc.net/problem/25314
25314번: 코딩은 체육과목 입니다
오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++
www.acmicpc.net
접근 방법 - 규칙 탐색에 대한 기본적인 출력 문제
백준의 25314번 문제는 특정 규칙에 대한 기초적인 출력을 수행해야 하는 문제이다.
해당 문제는, 입력값에 따라서 적절하게 "long"과 "int"를 출력해야 하는 문제이다.
필자는 문제를 읽고 예시 입출력을 보면서, 아래와 같은 간단한 규칙을 찾을 수 있었다.
입력값을 n이라 가정할 때,
"long"을 n을 4로 나눈 몫만큼 출력한 뒤에, 마지막에 "int"를 딱 한번 출력하며 종료한다.
이 규칙을 발견하고 이를 이용하여 아주 쉽게 문제를 해결할 수 있었다.
이 점만 잘 찾아내었다면, 간단하게 문제를 해결할 수 있었을 것으로 예상된다.
혹여나 해당 문제를 해결하는 데에 어려움을 겪고 있다면, 아래의 설명과 코드를 참고해보길 바란다.
필자는 아래의 순서대로 코드를 작성하여 문제를 해결하였다.
코드의 실행 순서
1) 값(n)을 입력받는다.
2) n의 크기에 따라, 반복문을 통해 아래의 연산을 취한다.
- 반복문을 1번 실행할 때마다, "long"이라는 문자열을 출력하도록 한다.
(이때 "long"은 n을 4로 나눈 몫만큼 출력해야 하기 때문에, 제어 변수 i는 0부터 시작하여 n/4 이전까지 증가하도록 한다.)
3) 위 반복문 실행이 완료되었다면, 마지막으로 "int"를 출력한 뒤 실행 종료한다.
성공한 코드
#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <iostream>
#define endl '\n'
using namespace std;
//백준 25314번 코드
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
int n;
cin >> n;
for (int i = 0; i < n / 4; i++) {
cout << "long ";
}
cout << "int" << endl;
}
제출 결과
(2022.10.08 백준 25314번 문제 제출 결과)
'PS (Program Solving) > BOJ (백준)' 카테고리의 다른 글
[백준 BOJ] 10821번 정수의 개수 (C++/cpp) (0) | 2022.12.26 |
---|---|
[백준 BOJ] 23278번 영화 평가 (C++/cpp) (0) | 2022.12.15 |
[백준 BOJ] 5717번 상근이의 친구들 (C++/cpp) (0) | 2022.12.06 |
[백준 BOJ] 13458번 시험 감독 (C++/cpp) (0) | 2022.12.02 |
[백준 BOJ] 13909번 창문 닫기 (C++/cpp) (0) | 2022.12.02 |