안녕하세요. 지난 포스팅의 BOJ 2480번 : 주사위 세개에서는 3개의 주사위 눈을 비교하여 각 경우별로 다른 상금을 출력하는 문제를 풀어보았습니다. 오늘은 새로운 주제로 반복문(for문, while문)과 관련된 문제를 풀어보도록 하겠습니다.
핵심 포인트
- 반복문 : for문
- 문자열 포맷팅 : format
for variable in iterable :
do statement
반복문 중 for문의 기본적인 형태는 위와 같습니다. 보시면 iterable 자료형에서 variable을 한 개씩 꺼내오고 명령어를 실행합니다. 그리고 다음 variable을 꺼내오고 명령어를 다시 실행하죠. 이러한 과정을 iterable 자료형의 원소의 개수만큼 실행하게 됩니다. 여기서 iterable 자료형에 대한 자세한 설명은 BOJ 1000번 : A + B를 참고해주시길 바랍니다.
이제 다시 문제로 돌아와서 보면 임의의 숫자 N을 입력받으면 특정한 문자열을 가진 구구단을 출력하게 됩니다. 이때, 예제 출력을 보시면 N * X = NX와 같은 꼴을 가지고, X를 제외한 문자열들을 변하지 않는 것을 관찰할 수 있습니다. 이와 같이 동일한 구조의 문자열을 반복적으로 쉽게 출력할 수 있는 방법이 문자열 포맷팅(string formating)입니다. 문자열 포맷팅에는 다양한 방법이 있지만 저는 format() 함수를 활용하였습니다. 간단한 예로 "나는 8살 입니다."라는 문장에서 8을 반복문으로 다양하게 출력하고 싶다면 아래와 같이 적용할 수 있습니다.
for age in range(1, 10) :
print("나는 {}살 입니다.".format(age))
위 코드에서 {}안에 format() 함수 안의 값이 자동으로 들어가게 됩니다. 이를 활용해서 쉽게 문제를 풀어보면 아래와 같습니다.
N = int(input())
for i in range(1, 10) :
print("{} * {} = {}".format(N, i, N * i))
참고자료 및 그림출처
'Programming > Coding Problem' 카테고리의 다른 글
BOJ 8393번 : 합 (0) | 2022.06.06 |
---|---|
BOJ 10950번 : A + B - 3 (0) | 2022.06.02 |
BOJ 2480번 : 주사위 세개 (0) | 2022.06.01 |
BOJ 2525번 : 오븐 시계 (0) | 2022.06.01 |
BOJ 2884번 : 알람 시계 (0) | 2022.06.01 |