별 찍기 -7

PearLine_Zero·2024년 5월 16일

하루에 1커밋 CodingTest

목록 보기
97/110
post-thumbnail
  • 티어 : Bronze 3
  • 정답여부 : 오답
  • 알고리즘 유형 : 구현
  • 시간 제한 : 1초

💡문제

예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.

💡입력

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

💡출력

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

💡예제 입력 1

5

💡예제 출력 1

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

💡문제요약

입력받은 수로 별을 만드는데 삼각형으로 거꾸로 하나씩 만들면 됨

💡알고리즘 설계

  1. N을 입력받음
  2. 1부터 N+1 for문으로 돌리는데 공백을 N에서 빼주고 그다음 별을 문제에서 나온 것처럼 2*i-1 추가함
  3. 삼각형을 만들었으면 거꾸로 역순으로 코드를 작성

✍️ 파이썬 역순으로 나타내고 싶을시

  • for i in range(n, 0, -1):

💡작성코드

  • python
N = int(input())
for i in range(1, N+1):
    print(" " *(N-i) + "*" * (2*i-1))
for i in range(N, 0,-1):
    print(" " * (N-i) + "*" * (2*i-1))      

💡틀린 이유 or 수정할 부분

VS에서 먼저 실행하고 백준에 넣었는데 틀렸다고 나왔다... 무엇이 틀린건지.. 감을 못 잡아서 다른 사람들 코드를 보면서 비교를 해본 결과 역순 코드에서 N을 -1 해줘야 한다는 사실.. 왜나면 4,3,2,1,0 이니까... 멍충아...

💡틀린 부분 수정 or 다른풀이

  • python
N = int(input())
for i in range(1, N+1):
    print(" " *(N-i) + "*" * (2*i-1))
for i in range(N-1, 0,-1):
    print(" " * (N-i) + "*" * (2*i-1))        

💡느낀점 or 기억할 정보

아 0시작 1시작 너무 헷갈린다..

profile
https://baesaa0304.tistory.com 블로그 이사합니다~

0개의 댓글