반응형
안녕하세요 BlockDMask 입니다.
별찍기 14개 중에 5번째 입니다.
사촌형님이 제 스타일이 너무 C언어 스타일이라 하셔서;;
C++ 스타일로 해보려고 시도 하고 있습니다.
혹시 이상한 점이 있으면 말씀해 주세요!
171024 문제 빼먹음 -> 171113 완료
0. 제목
백준 2442 별찍기5
BOJ 2442 별찍기5
1. 문제 설명
첫째 줄에는 별 1개, 둘째 줄에는 별 3개
N 번째 줄에는 별 2*N-1개를 찍는 문제입니다.
별은 가운데를 기준으로 대칭 이어야합니다.입력 : N (1<=N<=100)
입력 이 6 이면 이런식으로 나와야합니다.
2. 풀이 과정
각 줄에
공백을 0~n-1, 별을 1개
공백을 0~n-2, 별을 3개.
.
.
.
공백 0개, 별을 2*i +1 개 출력.
(i = n-1 입니다.)2*i +1 은 n으로 치환하면 2*(n-1) + 1 이므로 2n-1이 됩니다.
3. 소스코드
C언어.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | //https://www.acmicpc.net/problem/2442 //BOJ_2442_star5 #include<iostream> #include<cstdio> using namespace std; int main(void){ int n; cin >> n; for(int i=0; i<n; i++){ //0~n-1, 0~n-2, . . . 0 까지 각줄에 공백 출력 for(int j=0; j<n-i-1; j++) printf(" "); //1, 3, 5, . . . 홀수로 * 출력 for(int k=0; k<2*i+1; k++) printf("*"); printf("\n"); } return 0; } | cs |
C++ 언어.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | //https://www.acmicpc.net/problem/2442 //BOJ_2442_star5 #include<iostream> #include<cstdio> using namespace std; class star{ private: int n; public: star(){} ~star(){} void solve(int n){ this->n = n; for(int i=0; i<n; i++) printStar(i); } void printStar(const int& i) const{ //0~n-1, 0~n-2, . . . 0 까지 각줄에 공백 출력 for(int j=0; j<n-i-1; j++) printf(" "); //1, 3, 5, . . . 홀수로 * 출력 for(int k=0; k<2*i+1; k++) printf("*"); printf("\n"); } }; int main(void){ int n; cin >> n; star *s = new star; s->solve(n); return 0; } | cs |
4. 인증
C언어
C++
문제출처 : https://www.acmicpc.net/problem/2442
감사합니다.
반응형
'<알고리즘 문제풀이&연습> > [C++] 백준, 프로그래머스 등등' 카테고리의 다른 글
[백준 2444] 별찍기7 (0) | 2017.11.15 |
---|---|
[백준 1120] 문자열 (0) | 2017.11.14 |
[백준 2443] 별찍기6 (0) | 2017.11.14 |
[백준 11721] 열 개씩 끊어 출력하기 (0) | 2017.11.14 |
[백준 2839] 설탕 배달 (0) | 2017.11.12 |
[백준 2441] 별찍기4 (0) | 2017.11.07 |
[백준 2440] 별찍기3 (0) | 2017.11.06 |
[백준 2023] 신기한 소수 (1) | 2017.11.05 |