이번 문제는 for문으로 풀 수 있을 것 같다. 물론 print로 숫자 하나씩 대입하는 방법도 있다. 우선 다음과 같이 풀었다:
import sys
N = int(sys.stdin.readline())
num1 = 1
for i in range(9):
print(str(N) + ' * ' + str(num1) + ' = ' + str(N*num1))
num += 1
하지만 또 앞서 언급했던 바와 같이, 이렇게도 코드를 짤 수 있다:
import sys
N = int(sys.stdin.readline())
print(str(N) + ' * ' + '1 = ' + str(N*1))
print(str(N) + ' * ' + '2 = ' + str(N*2))
print(str(N) + ' * ' + '3 = ' + str(N*3))
print(str(N) + ' * ' + '4 = ' + str(N*4))
print(str(N) + ' * ' + '5 = ' + str(N*5))
print(str(N) + ' * ' + '6 = ' + str(N*6))
print(str(N) + ' * ' + '7 = ' + str(N*7))
print(str(N) + ' * ' + '8 = ' + str(N*8))
print(str(N) + ' * ' + '9 = ' + str(N*9))
하지만 이렇게 하게 되면 다음과 같은 결과를 보게 된다:
(출력 형식이 잘못되었습니다 - 문제풀이는 맞는데 공백 같은 출력형식이 잘못 됐을 경우에 나타난다. 나의 경우 공백 하나를 잘못 넣었다.)
시간은 72 ms → 64 ms로 줄어들었지만, 코드 길이는 149 B → 420 B 로 늘어났다.
이렇게 짧은 코드는 크게 상관 없겠지만 큰 코드가 될 경우는 코드 길이도 줄이는 것이 중요할 것이다.
'알고리즘 테스트 > 백준 문제풀이 및 해설' 카테고리의 다른 글
<백준 문제풀이 - 8393번> 파이썬 - 합 (0) | 2020.10.16 |
---|---|
<백준 문제풀이 - 10950번> 파이썬 - A+B-3 (0) | 2020.10.16 |
<백준 문제풀이 - 14681번> 파이썬 - 사분면 고르기 (0) | 2020.10.16 |
<백준 문제풀이 - 2588번> 파이썬 - 곱셈 (0) | 2020.10.15 |
<백준 문제풀이 - 10430번> 파이썬 - 나머지 (0) | 2020.10.15 |