본문 바로가기
파이썬/BOJ_반복문

[백준 2438 파이썬] 별 찍기 -1 - 반복문 (for, 문자열 곱하기, 더하기)

by 쉽게사는방법 2023. 1. 10.
반응형

[백준 2438 파이썬] 별 찍기 -1 - 반복문 (for, 문자열 곱하기, 더하기)

 

안녕하세요.

이번에도 기초적인 반복문 문제입니다. 이전까지와 다른 점은 숫자 계산이 아닌 반복문을 활용한 문자열 출력 문제네요. 예제 입출력도 한번 보고 지나가시면 좋을 것 같습니다!

 

문제

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

입력

첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

출력

첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.

예제 입출력
예제 입출력

 

문제 분석

별 갯수 N을 입력받고, 별 1개부터 N개까지 줄을 바꿔가며 출력하는 문제입니다. 줄 수 또한 별 갯수와 같겠죠?

줄이 넘어갈 때 마다 별 갯수가 하나씩 늘어나야 하는데 "('*'+'*'+'*'+'*') + '*' " 과 같은 더하기 방식과 " '*' * i"와 같은 곱하기 방식을 생각해볼 수 있을 것 같습니다.

문자열을 단순히 합치기 위해 덧셈 기호(+)를 사용할 수 있다는 점은 '??!' 포스팅에서도 연습해 보았죠. 그럼 곱하기(*)도 문자열에 사용할 수 있을까요? 아래 답안에서 확인해 보겠습니다!

 

답안

우선 곱하기 방식입니다. 그냥 문자열 "*"에 (i+1)을 곱해주면 1부터 N까지 별 갯수를 출력하게 됩니다. 아주 직관적이죠?

백준 2438 풀이 (파이썬) - 곱하기
백준 2438 풀이 (파이썬) - 곱하기

 

앞 문제들에서 X+=n과 같이 변수 자기자신에 특정 값을 더해서 업데이트하는 방식을 많이 사용했었죠? X와 n이 문자열인 경우에도 작동 할까요?

백준 2438 풀이 (파이썬) - 더하기
백준 2438 풀이 (파이썬) - 더하기

네, 잘 작동하는군요!

 

살펴본 것처럼 곱하기 방식으로 특정 문자열을 "반복"하게 하거나, 더하기 방식으로 문자열들을 "결합"할 수 있다는 점 잘 알아두시면 좋을 것 같습니다. 숫자에서의 연산자와 비슷하면서도 다른 점 비교해보시면 좋을 것 같네요.

 

이만 마치도록 하겠습니다.

읽어주셔서 감사합니다.

반응형

댓글