코딩테스트 & 문제 풀이

[C]백준 2440 : 별 찍기 - 3

2023. 11. 19. 17:05

2023년 1월 24일에 작성됨

 

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

 

2440번: 별 찍기 - 3

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

www.acmicpc.net

 

 

문제 분석

이중 for문을 이용하여 문제를 풀 수 있다.

 

 

소스 코드 (⭕)

#include <stdio.h>

int main()
{
    int a;

    scanf("%d", &a);

    for (int i = 0; i < a; i++)
    {
        for (int j = a - i; j > 0; j--)
        {
            printf("*");
        }
        printf("\n");
    }
}

 

코드 분석

예를 들어 a = 4라고 하면,

i j
0 4, 3, 2, 1
1 3, 2, 1
2 2, 1
3 1

 

여기서 i와 j가 '몇 번' 실행되는지에 주목할 것!

i를 \n으로 생각하고, j를 * 출력으로 생각해보자.

코드 상 안쪽 for문이 먼저 실행되므로
i = 0일 때, printf("*") 4번 반복, printf("\n") 1번
i = 1일 때, printf("*") 3번 반복, printf("\n") 1번
i = 2일 때, printf("*") 2번 반복, printf("\n") 1번
i = 3일 때, printf("*") 1번 반복, printf("\n") 1번

이런 식으로 a 값에 따라 예제 출력과 같은 모양으로 출력할 수 있다.

여기서 핵심은 안쪽 for문에서 j의 값이 a - i부터 시작한다는 것이다.
a 값은 고정이고, i 값은 0부터 a-1까지 증가하므로 j의 시작점은 계속 감소하는 방식으로 별의 개수를 역순으로 출력해주는 것이다.

 

 

end

처음 별 찍기 문제를 풀고 거의 반년이 지나서 실력 확인 겸 다시 풀어보려고 했는데.. 쉽게 풀리겠지? 하고 풀다가 생각보다 헷갈려서 충격 먹었다..!!! 😭😭
그래도 혼자 풀 수 있는 난이도이긴 하지만 빠르게 풀릴 줄 알았는데 쩝..
더 열심히 하자 파이팅!!! 혼자서 별 찍기 정복해주겠어ㅂㄷㅂㄷ

 

 

 

'코딩테스트 & 문제 풀이' 카테고리의 다른 글

[C]백준_2752 : 세수정렬  (3) 2023.12.18
[C]백준_2441 : 별 찍기 - 4  (2) 2023.11.20
[Python]백준_3182 : 한동이는 공부가 하기 싫어!  (0) 2023.11.19
[Python]백준_16173 : 점프왕 쩰리 (Small)  (1) 2023.11.18
[Java]백준_10039 : 평균 점수  (1) 2023.11.16
  1. 문제 분석
  2. 소스 코드 (⭕)
  3. 코드 분석
  4. end
'코딩테스트 & 문제 풀이' 카테고리의 다른 글
  • [C]백준_2752 : 세수정렬
  • [C]백준_2441 : 별 찍기 - 4
  • [Python]백준_3182 : 한동이는 공부가 하기 싫어!
  • [Python]백준_16173 : 점프왕 쩰리 (Small)
Hicecream
Hicecream
HicecreamHicecream 님의 블로그입니다.
Hicecream
Hicecream
Hicecream
전체
오늘
어제
  • 분류 전체보기 (202)
    • 코딩테스트 & 문제 풀이 (159)
    • 동아리 활동 (8)
    • 외부 활동 (0)
    • 대학 과제 (3)
    • Git & Git Hub (5)
    • 코딩 프로젝트 (4)
    • 공부 메모 (17)
    • 일상 (2)
    • 참고사항 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Silver 5
  • Code up
  • 사칙연산
  • 정렬
  • Bronze 5
  • C언어 기초 100제
  • Bronze 2
  • 수학
  • python
  • 문자열
  • Silver 4
  • BOJ
  • Bronze 4
  • C
  • Bronze 3
  • 구현
  • Bronze 1
  • programmers
  • Java
  • LV1

최근 댓글

최근 글

hELLO · Designed By 정상우.
Hicecream
[C]백준 2440 : 별 찍기 - 3
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.