문제 설명
문제
N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다.
입력
첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다.
출력
출력형식과 같게 N*1부터 N*9까지 출력한다.
예제 입력 1
2
예제 출력 1
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
문제 해석
for 루프를 사용하여 특정 범위(1부터 9까지)를 반복하는 방법을 익히고, 반복 구조의 기본 개념을 이해하고 적용하는 능력을 테스트합니다. f-string이나 다른 문자열 포매팅 방법을 사용하여 원하는 형식으로 출력하는 능력을 키웁니다.
정답 코드
모법 답안
n = int(input())
for i in range(1, 10):
print(n, "*", i, "=", n*i)
먼저 input() 함수로 사용자로부터 문자열 형태로 입력을 받습니다. int() 함수를 사용해 입력받은 문자열을 정수로 변환합니다. 변환된 정수 값을 변수 n에 저장합니다. 그리고 for 루프를 사용하여 1부터 9까지 반복합니다. range(1, 10)는 1부터 9까지의 숫자 시퀀스를 생성합니다. 각 반복마다 i는 1, 2, 3, ..., 9의 값을 가집니다. print() 함수를 사용해 각 줄을 출력합니다. 쉼표(,)로 구분된 여러 인자를 전달하면, 각 인자 사이에 자동으로 공백이 삽입됩니다. n은 입력받은 단 수, i는 현재 반복 중인 숫자(1~9), n*i는 두 수의 곱입니다. 여기서는 문자열 포매팅을 사용하지 않고 구구단을 표현했습니다.
print() 함수는 각 인자를 자동으로 문자열로 변환합니다. 따라서 정수인 n, i, n*i도 문자열로 변환되어 출력됩니다.
추가 풀이 1
n = int(input())
i = 1
while i <= 9:
print(n, "*", i, "=", n*i)
i += 1
for 루프 대신 while을 사용하여 같은 결과를 얻습니다. while 루프는 조건이 참인 동안 계속 실행됩니다. i = 1로 초기화하고, i <= 9 조건이 참인 동안 루프가 계속됩니다. 루프 내에서 i += 1로 i를 1씩 증가시킵니다. 기초 문법: while 조건: 형태로 사용하며, 들여쓰기로 루프 내용을 구분합니다.
다양한 문자열 포매팅 방법
문자열을 포매팅 하는데는 다양한 방법이 있습니다.
① % 연산자
print("%d * %d = %d" % (n, i, n*i))
② str.format()
print("{} * {} = {}".format(n, i, n*i))
③ f-string (가장 많이 쓰는 방법)
print(f"{n} * {i} = {n*i}")
④ 문자열 연결
print(str(n) + " * " + str(i) + " = " + str(n*i))
'알고리즘' 카테고리의 다른 글
[백준] 15596번 정수 N개의 합 - Python3 (0) | 2024.09.07 |
---|---|
[백준] 2562번 최댓값 - Python3 (0) | 2024.09.07 |
[백준] 9498번 시험성적 - Python3 (2) | 2024.09.06 |
[백준] 10869번 사칙연산 - Python3 (0) | 2024.09.06 |
[백준] 2557번 Hello World - Python3 (0) | 2024.09.06 |