본문 바로가기
카테고리 없음

[c] 백준 #2446,#2522,#2523

by 멘멘 2023. 11. 5.

#2446

 

문제 설명

예제처럼 별을 찍는 문제이다.

 

풀이 과정

이전에 했던 별찍기 (아래쪽 삼각형, 위쪽 삼각형)를 합쳐주면 된다.

다만 두번째 반복문에서 아래와 같이 약간의 숫자 조정이 필요하다.

#include <stdio.h>


int main() {

	int N;
	scanf("%d",&N);
	
	for(int i = 0; i<N; i++){
		for(int j = 0; j<i; j++){
			printf(" ");
		}
		for(int k = i; k<N; k++){
			printf("*");
		}
		for(int k = i; k<N-1; k++){
			printf("*");
		}
		printf("\n");
	}
    
	for(int i = 2; i<=N; i++){
		for(int j = N; j>i; j--){
			printf(" ");
		}
		for(int k = 0; k<i; k++){
			printf("*");
		}
		for(int k = 0; k<i-1; k++){
			printf("*");
		}
		printf("\n");
	}
	
	
	return 0;
}

 

 

#2522

문제 설명

예제처럼 별을 찍는 문제이다.

 

풀이 과정

이전에 했던 별찍기 (양옆 삼각형)을 수정해주면 된다.

띄어쓰기와 별 숫자에 유의하여 아래와 같이 작성한다.

#include <stdio.h>


int main() {

	int N;
	scanf("%d",&N);
	
	
	for(int i = 1; i<N; i++){
	
		for(int k = i; k<N; k++){
			printf(" ");
		}
		for(int k = 0; k<i; k++){
			printf("*");
		}
		printf("\n");
		
	}
	
	for(int i = 0; i<N; i++){
	
		for(int k = 0; k<i; k++){
			printf(" ");
		}
		for(int k = i; k<N; k++){
			printf("*");
		}
	
		printf("\n");
	}
	return 0;
}

 

#2523

문제 설명

예제처럼 별을 찍는 문제이다.

 

풀이 과정

위의 풀이과정에서 살짝의 변형을 주면 된다. 다만 주의해야할 점은 공백문자도 출력하게 되면 출력형식에 오류가 발생하므로 공백을 출력하지 않아야한다.

#include <stdio.h>


int main() {

	int N;
	scanf("%d",&N);
	
	
	for(int i = 1; i<N; i++){
			for(int j = 0; j<i; j++){
			printf("*");
		}
	
		printf("\n");
		
	}
	
	for(int i = 0; i<N; i++){
	
		for(int j = N; j>i; j--){
			printf("*");
		}
	
		printf("\n");
	}
	return 0;
}
 

댓글