별찍기 3
코드 및 풀이방식
<풀이방식>
1. 5를 입력했을 때 5줄이 출력됨 -> for문 전체 반복 수가 5
입력받은 변수의 이름이 star라면
전체 반복문을 for(int i=0;i<star;i++) 이런 식으로 만들고 시작한다.
2. 별이 5개부터 1개까지 줄어든다.
i=0일 때: 별의 개수 j=5
i=1일 때: 별의 개수 j=4
* 즉 관계가 j=행 수(star)-i 라는 것을 알 수 있다.
<코드>
#include <iostream>
using namespace std;
//별찍기 3
int main(){
int star;
cin >> star;
for (int i = 0; i < star; i++){
for (int j = 0; j < star-i; j++){
cout << "*";
}
cout << endl;
}
}
별찍기 4
코드 및 풀이방식
1. 5를 입력했을 때 5줄이 출력됨 -> for문 전체 반복 수가 5
입력받은 변수의 이름이 star라면
전체 반복문을 for(int i=0;i<star;i++) 이런 식으로 만들고 시작한다. (위 문제와 동일)
2. 공백 처리
첫째 줄(i=0일 때), 공백 없음, 별 5개
둘째 줄(i=1일 때), 공백 1개, 별 4개
셋째 줄(i=2일 때), 공백 2개, 별 3개
일반화 시키면
공백: i , 별: star-i
변수들을 상황에 따라서 다 나열해보면(물론 다 나열하긴 힘들지만...) 일반식을 만들 수 있다!!
<코드>
#include <iostream>
using namespace std;
//별찍기 4
int main(){
int star;
cin >> star;
for (int i = 0; i < star; i++)
{
//공백
for (int j = 0; j < i; j++)
{
cout << " ";
}
//별
for (int k = star; k>i; k--)
{
cout << "*";
}
cout << endl;
}
}
'알고리즘' 카테고리의 다른 글
13. 가장 많이 사용된 자릿수 (0) | 2020.04.03 |
---|---|
STL과 Vector&iterator (0) | 2018.09.02 |
[2438/2439] 별찍기 1-2 (0) | 2018.05.11 |
[1152] 단어의 개수 (0) | 2018.05.09 |
[2839] 설탕 배달 (0) | 2018.05.09 |