티스토리 뷰

 

백준 알고리즘 온라인 저지 2739번 : 구구단

 

Python3 코드

n = int(input())

for i in range(1,10):  # 1~9
    print(n, '*', i, '=', n*i)

 

 

Python3 코드 풀이

 

1. 코드 풀이에 대한 전체적인 내용 요약정리

이 문제는 숫자 N을 입력받으면 N 단 구구단을 출력하는 문제이다. 예제 출력에서 볼 수 있는 것처럼 구구단은 2x1=2, 2x2=4 이런 식으로 2 * { i }={ 2 * i }라는 동일한 문장 안에서 { } 괄호 안의 수만 변경이 된다. 이때 { i } 괄호 자리의 수는 1~9까지 일정한 규칙을 갖고 있는 수가 반복되고 있다. 이처럼 같은 과정이 반복되는 식은 반복문으로 작성할 수 있다. 반복문에는 while반복문과 for 반복문이 있는데 이번 문제는 for 반복문을 더 쉽게 작성할 수 있어서 for 반복문으로 코드를 작성했다.

 

2. 코드 첫째줄, 숫자를 입려 받는다.

n = int(input())

먼저 1 < n <=9 범위 안에 있는 랜덤 한 수 n을 입력받는다. 즉, 2부터 9까지의 수를 입력받게 된다. 입력받는 함수는 input 함수를 사용했고 문자열로 입력받게 되기 때문에 int 함수를 이용해서 정수로 변환했다.

 

3. for반복문 코드 첫째줄, 숫자 반복문을 생성하여 for문을 반복한다.

for i in range(1,10):  # 1~9

 for문을 작성하게 되면 in 뒤에 위치한 반복 가능한 iterable 자료형의 요소를 하나씩 꺼내서 변수에 선언하게 된다. 이번 문제에서는 iterable 자료형 위치에 range 함수를 이용해서 1부터 9까지의 숫자 범위를 입력하였다. 1부터 9까지 하나씩 꺼내지는 숫자는 2 * { i } = { 2 * i }와 같은 형태에서 ' i ' 위치에 들어오게 된다.

 

ragne 함수는 일정한 규칙을 가진 숫자 iterable 자료형을 생성할 수 있는 유용한 함수이다. 이 문제 이후에도 백준 온라인 저지 문제를 풀 때 자주 사용하게 된다. range 함수로 숫자 범위를 지정할 때 주의해야 할 점은 괄호 안에 숫자 2개를 입력하는 경우 (시작 값, 종료 값) 이 되는데 이 범위는 시작 값 <= i < 종료 값 범위로 출력된다. 즉, 시작 값은 숫자 범위에 포함되지만 종료 값은 포함되지 않는 것이다. 

 

4. for문의 실행할 문장에서 print 함수를 이용하여 출력문을 작성한다. 

for i in range(1,10):  # 1~9
    print(n, '*', i, '=', n*i)

예제 출력을 보고서 같은 형식으로 출력될 수 있도록 작성하였다. 우선 예제 출력을 먼저 보면

2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
...

2 * 1 = 2 이런 식으로 문자 하나하나가 공백으로 구분되어 있다. print 함수는 sep= 파라미터에 별도로 기호를 지정하지 않으면 기본값이 공백으로 출력된다. 즉, sep 파라미터로 쉼표로 구분된 여러 개의 출력 값 사이사이를 원하는 문자열로 삽입할 수 있는데 지정하지 않으면 공백이 기본값인 것이다. 이러한 print 함수의 특징을 이용해서 괄호 안에 출력할 값을 쉼표로 구분해서 코드를 작성했다. 

 

반응형
댓글
반응형