C++

[백준 알고리즘] 2439번 : 별 찍기 - 2, c++

2022. 1. 3. 18:50

https://www.acmicpc.net/problem/2439

 

2439번: 별 찍기 - 2

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

www.acmicpc.net

c++로 백준 2439번 문제를 풀어보겠다.

 

 

 

문제

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

입력

첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

출력

첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.

예제 입력 1 복사

5

예제 출력 1 복사

    *
   **
  ***
 ****
*****

 

 

 

 

 

<문제 풀이>

1. N을 선언한 후 입력받는다.

2. 중첩for문을 써야하는데, 겉에 for문을 쓰고 안에 for문에는 for문을 2개 써야한다. 

안에 for문 중 첫 번째 for문은 1부터 N-i까지 반복하며 " "를 출력하고, 두 번째 for문은 N-i+1부터 N까지 반복하며 "*"를 출력한다. 

3. 두 for문이 모두 끝나면 '한 줄 띄기'를 출력한다.

 

 

이 문제에서 중요한 부분은 중첩반복문에서 구간을 1~N-i까지, N-i+1부터 N까지로 나누어야한다는 것이다.

 

 

 

코드는 다음과 같다.