[백준] 10994 별 찍기 - 19

cheeeese·2022년 5월 13일
0

코딩테스트 연습

목록 보기
104/151
post-thumbnail

📖 문제

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

💻 내 코드

def myStar(n ,idx):
    length=4*n-3

    if n==1:
        mlist[idx][idx]='*'
        return
    
    for i in range(idx, length+idx):
        mlist[idx][i]='*'
        mlist[i][idx]='*' 
        mlist[idx+length-1][i]='*'
        mlist[i][idx+length-1]='*'

    return myStar(n-1, idx+2)

n=int(input())
lens=4*n-3
mlist=[[' ']*lens for _ in range(lens)]

myStar(n, 0)

for i in mlist:
    print(''.join(i))    

💡 풀이

  • 감이 잘 안잡혀서 다른 사람 코드 참고함
*************
*           *
* ********* *
* *       * *
* * ***** * *
* * *   * * *
* * * * * * *
* * *   * * *
* * ***** * *
* *       * *
* ********* *
*           *
*************
  • 한 줄씩 보는 것이 아니라 사각형을 하나씩 그려가면 됨
  • n=1일때 가운데 하나의 별은 따로 찍어준다

0개의 댓글