백준

백준 2739 구구단 파이썬

하카데미 2022. 2. 14. 08:30

1. 문제

  • N을 입력 받아 구구단 N단 출력하기

 

 

2. 출제의도 파악하기

  • for문 좀 쓸줄 아나?

 

 

3. 풀이

  • for문의 기본 구조를 잘 알고 있는 지 물어보는 문제.
  • 반복문의 기본 문제 중의 기본 문제
for 변수 in 리스트(or 튜플, 문자열):
    수행할 문장1
    수행할 문장2

 

  • 여러 형태의 문자열 출력을 시도해봄.
N = int(input())

for n in range(1, 10):
    print(N, '*', n, '=', N * n)
N = int(input())

for n in range(1, 10):
    print(f'{N} * {n} = {N*n}')
N = int(input())

for n in range(1, 10):
    print('{0} * {1} = {2}'.format(N, n, N*n))

 

 

 

4. 남의 버전 분석

  • (숏코딩) exec() 활용
a=b=int(input())
exec("print(a,*f'*{b//a}=',b);b+=a;"*9)

a * b 에서 b는 몫이다.

그래서 b // a로 표현한 것 같다.

만약 5를 입력 받는다면,

a = b = 5일 것이다.

5 // 5 = 1이므로

첫 줄 은 5 * 1 = 5로 출력된다.

그 후, b += a가 실행된다.

현재 b = 5, a = 5이므로 5 + 5가 b의 새로운 값이 된다.

exec() 내에 입력된 표현식이 9번 실행되게 된다.

그럼 N * 1 ~ N * 9까지 실행되는 것이다.

 

 

5. 출력 확인

'백준' 카테고리의 다른 글

백준 8393 합 파이썬  (0) 2022.02.16
백준 10950 a + b (3번째) 파이썬  (0) 2022.02.15
백준 2884 알람 시계 파이썬  (0) 2022.02.13
백준 14681 사분면 고르기  (0) 2022.02.12
백준 2753 윤년 파이썬  (0) 2022.02.11