Step by Security Study

[백준-2739번] 구구단 - 파이썬 본문

문제 풀이/백준

[백준-2739번] 구구단 - 파이썬

jooon99 2023. 5. 30. 18:55

문제 링크

https://www.acmicpc.net/problem/2739

 

2739번: 구구단

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

www.acmicpc.net

 

 

 

 

문제 설명 

사용자가 N을 입력했을 때, N 단의 내용이 출력되도록 해야 한다.

 

 

 

 

문제 풀이

가장 먼저 사용자 입력 값을 받을 수 있는 input 함수를 사용해 주었고, 입력받은 값은 N 변수에 저장하도록 한다. 그리고 for 문은 range 함수를 이용하여 1부터 9까지 숫자를 차례대로 i 변수에 대입하도록 하고, i 값은 1씩 증가해야 하므로 반복문이 돌 때마다 +1을 해준다.

range(x, y) 형태로 사용할 경우, x 이상 y 미만을 나타내는 의미이기 때문에 y에는 9가 아닌 10을 넣어줘야 한다.

 

 

 

 

최종 코드

N = int(input());

i = 0

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

 

 

 

문제 풀이 과정

처음 문제를 풀었을 때 아래 코드와 같이 문제를 풀었다. print 함수에서 쉼표(,)를 사용하여 값 사이에 공백을 포함해 여러 값을 출력할 수 있도록 할 수 있다. 이것을 생각하지 못하고 + 연산자를 사용해서 문자열 연산을 시도했다. 이렇게 했을 때 TypeError: unsupported operand type(s) for +: 'int' and 'str' 즉, int형을 str형과 + 연산자로 더할 수 없다는 의미의 오류코드가 발생했다. 이럴 경우 str() 함수를 이용해서 숫자를 문자열로 변환하거나 int() 함수를 이용하여 문자열을 숫자로 변환하여 출력해야 한다.

N = int(input());

i = 0

if 1 <= N <=9:
    for i in range(1,9):
        print(N + "*" + i + "=" + N*i);
        i  = i + 1