티스토리 뷰

Coding Test

[Jungol] 1291. 구구단

lluna 2021. 12. 2. 23:00

http://jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=574&sca=20 

 

JUNGOL

 

www.jungol.co.kr

문제 포인트

  • 재귀함수로 계속해서 input 값의 범위 확인하기
  • 구구단이 작아질 경우 큰수부터 작은수 순서대로 출력하기 (range -1)
  • 문자열을 좌측으로 공백 패딩주기 (rjust)
s, e = map(int, input().split())

def googgodan(s, e):
    if s <= e:
        for j in range(1, 10):
            for i in range(s, e+1):
                print(f'{i} * {j} = {str(i * j).rjust(2, " ")}', end = '   ')
            print('')
    else:
        for j in range(1, 10):
            for i in range(s, e-1, -1):
                print(f'{i} * {j} = {str(i * j).rjust(2, " ")}', end = '   ')
            print('')

def input_check(s, e):
    if (2 <= s <= 9) and (2 <= e <= 9):
        googoodan(s, e)
    else:
        print("INPUT ERROR!")
        s, e = map(int, input().split())
        input_check(s, e)

input_check(s, e)
# 문자열 패딩 : width 는 원하는 길이, fillchar에는 원하는 문자열을 넣는다.
# ljust(width, fillchar) 우측으로 패딩
# rjust(width, fillchar) 좌측으로 패딩
# center(width, fillchar) 양측으로 패딩
INPUT ERROR!
4 * 1 =  4   5 * 1 =  5   6 * 1 =  6   7 * 1 =  7   8 * 1 =  8   
4 * 2 =  8   5 * 2 = 10   6 * 2 = 12   7 * 2 = 14   8 * 2 = 16   
4 * 3 = 12   5 * 3 = 15   6 * 3 = 18   7 * 3 = 21   8 * 3 = 24   
4 * 4 = 16   5 * 4 = 20   6 * 4 = 24   7 * 4 = 28   8 * 4 = 32   
4 * 5 = 20   5 * 5 = 25   6 * 5 = 30   7 * 5 = 35   8 * 5 = 40   
4 * 6 = 24   5 * 6 = 30   6 * 6 = 36   7 * 6 = 42   8 * 6 = 48   
4 * 7 = 28   5 * 7 = 35   6 * 7 = 42   7 * 7 = 49   8 * 7 = 56   
4 * 8 = 32   5 * 8 = 40   6 * 8 = 48   7 * 8 = 56   8 * 8 = 64   
4 * 9 = 36   5 * 9 = 45   6 * 9 = 54   7 * 9 = 63   8 * 9 = 72
댓글