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 |