반응형
백준, 코드 업 별 찍기를 풀면서 혼자 문제를 만들고 풀어보기로 생각했다.
생각해 낸 게 왕관(Crown)이다.
퀄리티가 많이 떨어지는 왕관이지만 그래도 난 만족이다. ㅎㅎ
코드
#include <iostream>
using namespace std;
int main() {
int test;
cin>>test;
int cnt=1;
for(int i=0; i<test; i++){
// 1
for(int j=0; j<1; j++){
cout<<"*";
}
// 2
for(int j=0; j<i; j++){
cout<<" ";
}
// 3
for(int j=0; j<1; j++){
cout<<"*";
}
// 4
for(int j=i; j<test*2-1-cnt; j++){
cout<<" ";
}
// 5
for(int j=0; j<1; j++){
cout<<"*";
}
// 6
for(int j=0; j<i-1+cnt; j++){
cout<<" ";
}
// 7
for(int j=0; j<1; j++){
cout<<"*";
}
// 8
for(int j=i; j<test*2-1-cnt; j++){
cout<<" ";
}
// 9
for(int j=0; j<1; j++){
cout<<"*";
}
// 10
for(int j=0; j<i; j++){
cout<<" ";
}
// 11
for(int j=0; j<1; j++){
cout<<"*";
}
cnt++;
cout<<"\n";
}
// 왕관 밑에 있는 사각형 만들기
for(int i=0; i<3; i++){
for(int j=0; j<test*4+2; j++){
if(i==0||i==2||j==0||j==test*4+1){
cout<<"*";
}
else{
cout<<" ";
}
}
cout<<"\n";
}
return 0;
}
|
cs |
풀이
2, 4, 6, 8, 10은 공백에 대한 for문이고,
1, 3, 5, 7, 9, 11은 별(선)에 대한 for문이다.
결론
코딩한지가 어느덧 6개월 다 돼가는데 처음에는 별 찍기 문제를 피했다. for문에 대한 자신감이 없었기 때문이다.
하지만 꼭 해야되는 것을 미루면 안 된다고 생각했기에 실패하고 실패를 해보니까 길이 보이기 시작했다.
별 찍기를 할 때는 선의 관점에서 보다는 공백을 관점으로 보면 훨씬 쉽게 별 찍기를 할 수 있다고 생각한다.
반응형
'개인공부' 카테고리의 다른 글
BYTE[], BYTE* <----> std::sring (c++) (0) | 2022.12.12 |
---|---|
문자열 뒤집기 c++ (0) | 2022.01.14 |
백준 2798(참고) 개인공부 ----c++ (0) | 2021.07.31 |
학생명단 (0) | 2021.07.13 |
c++ 대소문자 변환 (0) | 2021.06.30 |