[알고리즘/백준] 2438번 :: 별 찍기 - 1 (C++)
문제 ✍🏻 :: [2438번] 별 찍기 - 1
(초록색 글자 클릭 시 문제로 이동)
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
알고리즘 (접근방법) 💻
N을 입력받아 N행만큼 반복한다. 이때, 별은 첫째줄에 1개, 둘째 줄에 2개, ... N번째 줄에 N개씩 출력이 된다.
그림에서 볼 수 있듯이, i행은 N만큼 줄 바꿈이 되고, j는 i만큼 별(*
)을 찍는다.
i는 줄바꿈 담당, j는 별찍기 담당이라 생각하면 좋다.
반복문은 다음과 같다.
//N번만큼 반복
for (int i = 1; i <= N; i++) {
//i행에서 i행만큼 별 출력
for(int j = 1; j <= i; j++) {
cout << "*";
}
//해당 행이 끝나면 줄바꿈
cout << "\n";
}
반복문을 해석해보자면,
i=1일 때, 1번째 줄. j=i이므로 별 1개, 해당 행이 끝났으므로 줄바꿈
i=2일때,2번째 줄. j=i이므로, 별 2개, 해당 행이 끝났으므로 줄바꿈
...
i=N일때, N번째 줄. j=i이므로, 별 i개(N개),해당 행이 끝났으므로 줄바꿈
💡전체 코드💡
#include <iostream>
using namespace std;
int main()
{
cin.tie(NULL);
ios_base::sync_with_stdio(false);
int N, i, j;
cin >> N;
//입력받은 N만큼 반복
for (i = 1; i <= N; i++) {
//i행에서는 i개만큼의 별이 출력
for (j = 1; j <= i; j++) {
cout << "*";
}
//i행이 끝날 때, 줄바꿈
cout << "\n";
}
return 0;
}
회고 🤔
for문을 2개 쓰는건가?했는데 정말 2개 쓰는거라 신기..
쉽게 마무리했다!
Author And Source
이 문제에 관하여([알고리즘/백준] 2438번 :: 별 찍기 - 1 (C++)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@miiingirok/알고리즘백준-2438번-별-찍기-1-C저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)