반응형
DoZZang
Do IT
DoZZang
전체 방문자
오늘
어제
  • Programming
    • Git
    • Web
    • 기타
    • Python
      • CodeUp
    • Math
    • Algorithm
    • Baekjoon
    • C,C++
    • Life
      • 독서
      • Just
      • 영화

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
DoZZang

Do IT

[C] 백준 2439번 : 별 찍기 - 2
Baekjoon

[C] 백준 2439번 : 별 찍기 - 2

2022. 8. 13. 13:47
반응형

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

 

2439번: 별 찍기 - 2

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

www.acmicpc.net

코드

#include <stdio.h>
int main() {
  int N;
  scanf("%d",&N);
  for(int i = 1; i <= N; i++) {
   for(int j = 0; j < N - i; j++) {
     printf(" ");
   }
    for(int k = 1; k <= i; k++) {
      printf("*");
    }
    printf("\n");
  }
}

☞ 풀이 전

N번째 줄에 N개의 별이 찍히므로 먼저 인트형 변수 N을 선언해주었습니다. 이후에는 N값과 각 for문의 변수의 값의 관계에 따라 식을 구성해주려고 했습니다.

 

☞ 왜?

예제 출력을 보면 1번째 줄에 1개의 별과 4개의 공백이 있고 N번째 줄에는 N개의 별과 0개의 공백이 있으므로 먼저 출력되어야하는 공백의 식을 N-i로 지정하였고 별의 식을 단순 i로 지정하였습니다.

 

☞ 다른 사람의 코드

#include <stdio.h>

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

다 같지만 마지막 puts("");함수를 쓴게 눈에 뛰었습니다. 

puts함수와 printf 함수의 차이점은 puts함수는 문자열밖에 출력하지 못하는 반면에 printf는 puts함수의 상위호환같은 개념으로서 문자열 뿐만아니라 정수형,실수형 등등 다 출력할 수 있는 함수였습니다. 또 puts함수는 자동 줄바꿈이 되는 반면에 printf는 줄바꿈을 하려면 \n를 넣어줘야했습니다.

puts("")와 printf("\n")를 비교했을 때 puts("")가 조금 더 빠르다고 합니다.

반응형

'Baekjoon' 카테고리의 다른 글

[C] 백준 1546번 : 평균  (0) 2022.08.16
[C] 백준 3052번 : 나머지  (0) 2022.08.16
[C] 백준 15552번 : 빠른 A+B  (0) 2022.08.12
[C] 백준 2480번 : 주사위 세개  (0) 2022.08.11
[C] 백준 2562번 : 최댓값  (0) 2022.08.10
    'Baekjoon' 카테고리의 다른 글
    • [C] 백준 1546번 : 평균
    • [C] 백준 3052번 : 나머지
    • [C] 백준 15552번 : 빠른 A+B
    • [C] 백준 2480번 : 주사위 세개
    DoZZang
    DoZZang
    과정은 힘들지만 성장은 즐겁습니다.

    티스토리툴바