[백준] 2739번 : 구구단 - [C++]
- 문제
for문의 가장 기초적인 문제다!
- 알고리즘 [접근 방법]
이 문제는 그리 어렵지 않게 풀었을 것이다.
for문을 한 번쯤 다뤄보셨으면 아주 쉽게 풀었을 텐데, 일단 for문의 구조를 한 번 이해하고 가보도록 하자.
for( 초기식 ; 조건식 ; 증감식 ) {
// code //
}
위 구조를 기본으로 한다.
초기식은 맨 처음 시작되는 부분으로 초기화를 하는 부분이다.
이 부분이 끝나면 이제 조건식에 의해 true일 경우 코드 영역을 실행하고, false일 경우 반복을 중지하게 된다.
증감식은 변수의 증가 및 감소를 담당하는 역할이다.. 이 부분이 끝나고 나면 다시 조건식으로 돌아가게 된다.
말로하면 이해가 어려울테니 한 번 코드로 보도록 하자.
[예시]
for(int i = 0; i < 10; i++) {
// code //
}
위 코드가 가장 기본적인 형태다. 위 코드를 한 번 이해해보자.
가장 먼저 i라는 변수를 생성하여 0으로 초기화 한다.
그 다음 조건식 i < 10 을 검사한다. i는 0이므로 i < 10 을 만족하여 code 영역을 실행시킨다.
code 영역을 실행시키고나면 증감식을 실행한다. 즉, i++ 를 실행하여 i = 1이 된다.
다시 조건식 i < 10을 검사한다. i가 1이므로 i < 10을 만족하여 code영역을 실행시킨다.
마찬가지로 code 영역 실행이 끝나면 증감식을 실행하여 i = 2가 된다.
이런식으로 반복하다가 i = 9일 때를 보자.
i = 9일 때, i < 10을 만족하므로 코드 영역을 실행시킨 뒤 i를 1 증가시켜 i = 10이 된다.
i = 10일 때 i < 10은 만족하지 못한다.
그러면 반복문을 종료하게 되는 것이다.
즉, i = 0일 때 부터 i = 9 일 때 까지 반복하므로 총 10번 반복이 되는 것이다.
더욱 간편하기 이미지로 본다면 이렇게 된다고 보면 된다.
위 과정을 이해한다면 매우 쉽게 풀 수 있을 것이다.
- 1가지 방법을 사용하여 풀이한다.
1. iostream
- 풀이
- 방법 1 : [iostream]
#include <iostream>
using namespace std;
int main(int argc, char const *argv[]) {
int N;
cin >> N;
for (int i = 1; i < 10; i++) {
cout << N << " * " << i << " = " << N * i << "\n";
}
return 0;
}
그리 어렵지 않을 것이다.
출력형식만 정확하게 맞춰주자. 참고로 출력에서는 곱해주는 인자가 1 부터 시작하므로 i = 1부터 시작하여 9까지(10 미만일 때 까지) 반복해주면 된다.
- 성능
채점 번호 : 27470116 - 방법 1 : iostream
- 정리
for문을 한 번이라도 써봤다면 그렇게 어려운 문제는 아니었을 것이다. for문 외에도 반복하는 방법으로는 while문, goto 문 등을 사용 할 수 있는데, goto문은 지양하는 것이 맞고, while문은 카테고리가 따로 있으니 이 번 파트에서는 따로 다루진 않았다.
혹여 어렵거나 이해가 안된다면 댓글로 남겨주시길 바란다.
'C++ - 백준 [BAEK JOON] > 반복문' 카테고리의 다른 글
[백준] 11022번 : A+B - 8 - [C++] (0) | 2021.05.02 |
---|---|
[백준] 11021번 : A+B - 7 - [C++] (0) | 2021.04.26 |
[백준] 15552번 : 빠른 A+B - [C++] (6) | 2021.03.28 |
[백준] 8393번 : 합 - [C++] (0) | 2021.03.26 |
[백준] 10950번 : A+B - 3 - [C++] (5) | 2021.03.22 |