서론
'정올 1291 : 구구단'에 이어 하나 더 풀어봤다. 앞에랑 비슷하고 출력 요건만 조금 바꿔주면 된다.
문제
http://jungol.co.kr/bbs/board.php?bo_table=pbank&code=1341&sca=2010
문제
원하는 구구단의 범위를 입력받아 해당 구간의 구구단을 출력하는 프로그램을 작성하시오.
<처리조건>
(1) 구간의 처음과 끝을 입력받는다.
(2) 입력된 구간은 반드시 처음 입력 값이 끝의 입력 값보다 작아야 하는 것은 아니다.
즉, 입력된 구간의 범위는 증가하거나 감소하는 순서 그대로 출력되어야 한다.
입력형식
구구단의 시작 범위 s와 끝 범위 e가 주어진다. (s와 e는 2부터 9사이의 정수)
출력형식
시작 범위와 끝 범위사이의 구구단을 출력하되 모든 값과 부호 사이는 공백으로 구분하여
아래 출력 예와 같이 줄을 맞추어 출력해야 한다.
식과 식 사이는 3개의 공백으로 구분하고 구구단 사이에는 한 줄을 비워 두도록 한다.
나의 풀이
while True:
a, b = map(int, input().split())
if a < 2 or a > 9 or b < 2 or b > 9:
continue
else:
v = -1 if (a >= b) else 1
for i in range(a, b + v, v):
for j in range(1, 10):
result = '{0} * {1} = {2:>2}'.format(i, j, i*j)
print(result, end=' ')
if j % 3 == 0: print()
print()
break
구구단1과 다르게 입력 값의 대소비교에 if 문을 한줄로 써보았다.
v = -1 if (a >= b) else 1
파이썬에서 if문을 한줄로 깔끔하게 적을수 있는 방식이 있다는게 신기했다. 앞으로 여러 코테에서도 코드를 클린하게 만들어 줄거같다.
+ 피드백과 새로운 풀이 방법은 언제든지 환영입니다!
'코딩테스트 > [python]정올' 카테고리의 다른 글
[python] 정올 2046 : 숫자사각형4 (0) | 2022.03.17 |
---|---|
[python] 정올 1304 : 숫자사각형3 (0) | 2022.03.17 |
[python] 정올 1856 : 숫자사각형2 (0) | 2022.03.17 |
[python] 정올 1303 : 숫자사각형1 (0) | 2022.03.17 |
[python] 정올 1291 : 구구단 (0) | 2022.03.17 |
댓글