본문 바로가기

BAEKJOON/구현

백준 2438번 [별 찍기-1](C++)-yes6686- 티스토리

728x90
SMALL

백준 문제 풀이: 2438 [별 찍기 - 1]


문제 링크: https://www.acmicpc.net/problem/2438

문제 설명:

자연수 N이 주어질 때, N번째 줄까지 별(*)을 왼쪽 정렬로 출력하는 프로그램을 작성하세요.

입력 조건:

  • 첫째 줄에 자연수 N이 주어집니다. (1 ≤ N ≤ 100)

출력 조건:

  • 첫째 줄부터 N번째 줄까지 다음과 같은 형태로 출력합니다:
*
**
***
****
*****

문제 해결 코드


#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n; // N 입력

    for (int i = 1; i <= n; i++) {
        // i개의 별 출력
        for (int j = 1; j <= i; j++) {
            cout << "*";
        }
        // 줄바꿈
        cout << endl;
    }

    return 0; // 프로그램 정상 종료
}

코드 설명

위 코드는 입력받은 N에 따라 왼쪽 정렬된 별을 출력합니다.

  • 별 출력:
    • 각 줄에 출력되는 별의 개수는 현재 줄 번호 `i`와 같습니다.
  • 출력:
    • 각 줄마다 별을 출력한 뒤 줄바꿈(`endl`)을 수행합니다.

시간 복잡도 분석:

  • 입력: N을 입력받는 데 O(1).
  • 출력: 총 N줄을 출력하며 각 줄에 최대 N개의 연산을 수행하므로 O(N²).

따라서 전체 시간 복잡도는 O(N²)입니다.


결과

다음은 입력 예시와 출력 결과입니다:

입력:
5

출력:
*
**
***
****
*****

위와 같이 입력된 숫자에 따라 왼쪽 정렬된 별이 출력됩니다.

다른 접근 방식이나 개선 사항이 있다면 댓글로 공유 부탁드립니다!

728x90
LIST