반응형
별 짓기 내 풀이)
#include <iostream>
int main()
{
for (int i = 0; i < 10; i++)
{
for (int j = 10; j > 0; j--)
{
if (i < j) {
printf(" ");
}
else {
printf("*");
}
}
for (int j = 0; j < 10; j++)
{
if (i < j) {
printf(" ");
}
else {
printf("*");
}
}
printf("\n");
}
return 0;
}
문제점 : 전체 영역을 채워넣는 방식으로만 사고함
개선점 : 각 줄을 넘어 갈때 마다 빈 공간이 1칸씩 줄어들고, 각 줄을 넘어갈때 줄 * 2 + 1 방식으로 별의 갯수를 늘려 나가는 방식을 사용할수 있다.
별 짓기 방식 2)
#include <iostream>
using namespace std;
int main() {
//1. 빈칸은 4 - 3 -2- 1 - 0
//2. 별의 개수는 1 -3 -5- 7 -9
//3. 총 라인수는 5줄
//line : 0 - 1 - 2- 3 - 4
for (int line = 0; line < 5; line++)
{
//1. 빈칸은 4 - 3- 2 -1 -0
for (int spaceCount = 0; spaceCount < 4 - line; spaceCount++)
{
cout << " ";
}
//2. 별의 개수는 1 - 3- 5 -7- 9
for (int starCount = 0; starCount < line * 2 + 1; starCount++)
{
cout << "*";
}
cout << endl;
}
return 0;
}
반응형
'알고리즘' 카테고리의 다른 글
알고리즘 문제 2. 반복문 (0) | 2022.08.31 |
---|---|
알고리즘 문제 3. 구구단 반복문 써서 출력하기 (0) | 2022.08.31 |
알고리즘 문제 6. 버블정렬 (0) | 2022.08.31 |
알고리즘 문제 7. 중복없는 랜덤값 구하기 (0) | 2022.08.31 |
알고리즘 문제 8. 중복없는 랜덤 구하기2 (0) | 2022.08.31 |