본문 바로가기
Programming/C++ - 백준

[백준] 2440번 : '별 찍기 -3' & 출력 형식이 잘못되었습니다 - (C++)

by 지구코드 2023. 4. 18.
반응형


문제


첫 번째 풀이 -  '출력 형식이 잘못되었습니다' 오류 발생

아래의 글처럼 중첩 for문에 if문을 이용하여, 별 찍기와 공백을 이용해 코드를 짰다.
 
 

[백준] 2439번 : '별 찍기 -2' - (C++)

문제 풀이 중첩 for문(2중 반복문)과 if문을 이용하여, (j n; for (int i = 1; i

jigoo-log.tistory.com

 

 

하지만, 별 뒤의 공백으로 인해 '출력 형식이 잘못되었습니다' 오류가 발생했다.


오류 코드

#include <iostream>
using namespace std;

int main() {
	int n;
	cin >> n;

	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++) {
			if (j <= n -i + 1) {
				cout << "*";
			}
			else {
				cout << " ";
			}
		}
		cout << endl;
	}
}

두 번째 풀이 

따라서, else {cout  <<  " "; }else { break; }로 수정해, 별이 찍힌 후 바로 for문을 빠져나오도록 해 오류를 해결할 수 있었다.


정답 코드

#include <iostream>
using namespace std;

int main() {
	int n;
	cin >> n;

	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++) {
			if (j <= n -i + 1) {
				cout << "*";
			}
			else {
				cout << " ";
			}
		}
		cout << endl;
	}
}

결과

 

 

2440번: 별 찍기 - 3

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

www.acmicpc.net

 

반응형

댓글