우당탕탕 파이썬 with 하루하나 알고리즘

백준 2739 파이썬 - for문을 사용하여 구구단을 외자!

hyxndy 2022. 3. 19. 08:57

Q. N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다.

입력 > 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다.

출력 > 출력형식과 같게 N*1부터 N*9까지 출력한다.


이제 if문에 대한 문제는 다 풀고 for문!

for문은 실행할 코드를 반복할 때 사용하기 좋은 구문이다.

반복문의 구문에는 기본적으로 for문, while문이 있는데,

for문은 반복할 횟수를 알 때 사용하기 좋고, while문은 특정 조건을 만족할 때 반복을 행할 수 있도록 할 때 잘 쓰인다.

 

구구단 같은 경우에는 우리가 몇 번 반복을 해야할 지 알고 있다.왜냐하면 구구단은 말 그대로 1부터 9까지를 곱해주면 되기 때문이다.

 

백준 예제에서처럼 5를 입력하면

2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18

이렇게 총 아홉 줄을 출력해주면 된다.

 

그럼 for문의 구조를 알아보자.

for i in 범위:
	출력할 문장

의 형식으로 이루어져있다. 여기서 범위에 들어갈 식은 list형식도 되고, 아님 range()를 통해 범위를 지정하여도 된다.

list형식 같은 경우에는 문자열이거나, 연속되지 않은 숫자들을 순서대로 실행할 때 좋다.

 

우리는 앞 숫자는 고정되어있는 상태에서(예제에서 2) 뒤에 곱해지는 숫자들만 1에서부터 9까지 곱해주면 되므로 range()함수를 사용할 것이다.

 

range()의 사용법은 이러하다.

range(a,b)

로 범위를 지정할 수 있고, 이 식이 의미하는 것은 a이상 b미만의 정수를 나타낸다.

만약 a = 3, b = 8이라면, 3이상 8미만의 수이므로 3,4,5,6,7을 나타낸다.

구구단에서는 1에서 9까지를 범위로 나타내주어야하므로 range(1, 10)로 범위를 지정해주면 된다.

 

이 범위 내에서 실행해주어야하는 식은 3(N) * 2(i) = 6(N*i) 꼴로 출력을 해주면 되는 것이다.

여기서 6은 3과 2를 곱해준 식이다. 그러므로

print(N, "*", i, "=", N*i)

처럼 나타낼 수 있다.

 

그럼 코드를 작성해보자!

먼저, N을 입력받아야 하므로,

N = int(input())

로 N을 입력한다.

 

이제 반복문을 작성해 줄 차례다.

for i in range(1,10):
    print(N, "*", i, "=", N*i)

i가 1이상 10미만일 때:

   print(N, "*", i, "=", N*i)을 실행

으로 해석할 수 있다.

 

백준에 있는 예제처럼 N=5를 입력해보자.

코드를 실행하면,

식이 잘 나오는 것을 확인할 수 있다.

 

<코드>

N = int(input())
for i in range(1,10):
    print(N, "*", i, "=", N*i)