[2442]
<2442번: 해결방법>
▼지난 별찍기(1) 게시물에서 보여줬던 방식을 좀 더 응용한 것 뿐이다. (참고)
2439번, 2440번, 2441번 [별찍기 (1)]
dip_the_source 2439번, 2440번, 2441번 [별찍기 (1)] 본문 백준 (C++) 2439번, 2440번, 2441번 [별찍기 (1)] #fdd4ff 2020. 12. 31. 00:15 Prev 1 2 3 4 5 6 7 Next
source-coding.tistory.com
=>첫째 줄에선 N-1개의 여백 빈칸과 (2x1)-1개의 *을 포함한 칸 -> · · · · · -> N째 줄에선 0개의 여백 빈칸과 (2xN)-1개의 *을 포함한 칸
<2442번: 소스코드>
#include <iostream>
using namespace std;
int main() {
int x;
cin >> x;
for (int j = 1; j <= x; j++)
{
for (int i = x; i > j; i--)
{
cout << " ";
}
for (int k = 1; k <=(2 *j)-1; k++)
{
cout << "*";
}
cout << "\n";
}
return 0;
}
[2445]
<2445번: 해결방법>
첫째 줄에 1개의 *을 포함한 칸, (N-1개의 여백 빈칸)x2, 1개의 *을 포함한 칸
둘째 줄에 2개의 *을 포함한 칸, (N-2개의 여백 빈칸)x2, 2개의 *을 포함한 칸
....
N째 줄에 N개의 *을 포함한 칸x2
N+1째 줄에 N-1개의 *을 포함한 칸, (1개의 여백 빈칸)x2, N-1개의 *을 포함한 칸
...
(Nx2)-1째 줄에 1개의 *을 포함한 칸, (N-1개의 여백빈칸)x2, 1개의 *을 포함한 칸
<2445번: 소스코드>
#include <iostream>
using namespace std;
int main() {
int N;
cin >> N;
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= i; j++)
cout << '*';
for (int j = 1; j <= (N-i)*2; j++)
cout << ' ';
for (int j = 1; j <= i; j++)
cout << '*';
cout << '\n';
}
for (int i = 1; i < N; i++) {
for (int j = 1; j <= N - i; j++)
cout << '*';
for (int j = 1; j <= 2 * i; j++)
cout << ' ';
for (int j = 1; j <= N - i; j++)
cout << '*';
cout << '\n';
}
return 0;
}
[2446]
<2446번: 해결방법>
첫째 줄에서 (N*2)-1개의 *을 포함한 칸
둘째 줄에서 1개의 여백을 포함한 칸, ((N-1)*2)-1개의 *을 포함한 칸, 1개의 여백을 포함한 칸
.....
N번 째 줄에서 N-1개의 여백을 포함한 칸, 1개의 *을 포함한 칸, N-1개의 여백을 포함한 칸
.....
(N*2)-1번 째 줄에서 (N*2)-1개의 *을 포함한 칸
<2446번: 소스코드>
#include <iostream>
using namespace std;
int main() {
int N;
cin >> N;
for (int i = 0; i<N; i++) {
for (int j =i; j >0; j--)
cout << ' ';
for (int k =1; k <= (2 * (N - i)) - 1; k++)
cout << '*';
cout << '\n';
}
for (int j = 2; j <=N; j++)
{
for (int i = N; i > j; i--)
{
cout << " ";
}
for (int k =1; k <= (2*j)-1; k++)
{
cout << "*";
}
cout << "\n";
}
return 0;
}
[2522]
<2522번: 해결방법>
첫째 줄에서 N-1개의 여백 빈칸, 1개의 * 을 포함하는 칸
둘째 줄에서 N-2개의 여백 빈칸, 2개의 * 을 포함하는 칸
N째 줄에서 N개의 *을 포함하는 칸
....
(N*2)-1 째 줄에서 N-1개의 여백 빈칸, 1개의 *을 포함하는 칸
<2522번: 소스코드>
#include <iostream>
using namespace std;
int main() {
int N;
cin >> N;
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= (N - i); j++)
cout << ' ';
for (int j = 1; j <= i; j++)
cout << '*';
cout << '\n';
}
for (int i = 2; i <= N; i++) {
for (int j =N-1; j >N-i; j--)
cout << ' ';
for (int j = N; j >= i; j--)
cout << '*';
cout << '\n';
}
return 0;
}
'프로그래밍 언어 💬 > C++' 카테고리의 다른 글
[백준] 1924번 (0) | 2020.12.31 |
---|---|
[백준] 10991번, 10992번 [별찍기 (3)] (0) | 2020.12.31 |
[백준] 2439번, 2440번, 2441번 [별찍기 (1)] (0) | 2020.12.31 |
문자열을 나타내기 위한 클래스 "string" (0) | 2020.12.30 |
[백준] 11720번 (0) | 2020.12.26 |