반응형
별찍ㄱ....12🙈
이번 별찍기는 왼쪽을 바라보는 화살표 모양을 출력해주는 것이다! "◀️"
처음 생각했던 방식은 인덱스가 맨 끝에서부터 시작해서 (N-1) 포인트가되는 지점 (인덱스가 0되는 지점이자 i가 mid 보다 커지는 지점)을 찍고 다시 줄어든다는 점이었다..!
그럼 맨 끝 인덱스부터 별을 앞으로 하나씩 채워나가다가 포인드가 mid보다 커지는 지점에서는 다시 찍었던 별들을 없애주고 출력해주는 방식을 택했다. ㅎㅅㅎ
printStar에 현재 그려나가는 별을 포인팅하는 index값을 넣어주었고 i가 mid 보다 큰지 작은지를 알아가며 값을 증감 시켜주었다!
중요한 것은 i와 mid 가 같은 지점에는 그 어떤 것도 하지 않아야한다. 그 지점에서 증감을 시켜주면 마지막에 찍은 포인트 부분을 다시 지워줘야하는데 그렇지 모하기 때묺ㅎㅎ....
#include <iostream>
#include <string>
#include <vector>
using namespace std;
vector<string> stars(101, " ");
int main()
{
int N;
cin >> N;
int mid = (2 * N - 1) / 2;
int printStar = N - 1;
stars[printStar] = "*";
for (int i = 0; i < 2 * N - 1; i++) {
for (int j = 0; j < N; j++)
cout << stars[j];
cout << "\n";
if (i < mid)
printStar--;
else if (i > mid)
printStar++;
if (stars[printStar] == " ")
stars[printStar] = "*";
else
stars[printStar] = " ";
}
return 0;
}
반응형
'Algorithm 💫 > Problem Solving' 카테고리의 다른 글
[백준 10844번 쉬운 계단 수/ C++](DP) (5) | 2021.01.07 |
---|---|
[백준 1463번 1로 만들기/ C++](DP) (2) | 2021.01.04 |
[백준 2445번 별찍기 - 8/ C++] (0) | 2021.01.04 |
[백준 2442번 별찍기 - 5/ C++] (0) | 2021.01.04 |
[백준 2438번 별찍기 - 1/ C++] (0) | 2021.01.01 |
댓글