cmod.ify
[코드트리] 체크 다이아몬드 본문
문제
가로 세로 2n-1 크기에 해당하는 격자에 체크 다이아몬드 모양을 그리는 코드를 작성해 보세요.
규칙은 다음과 같습니다.
- n = 3 일 때
*
* *
* * *
* *
*
- n = 4 일 때
*
* *
* * *
* * * *
* * *
* *
*
문제 풀이
n = int(input())
space = ' '
star = '*'
for i in range(1, n+1, 1):
for j in range(n-i, 0, -1):
print(space, end='')
for k in range(i):
print(star, end=space)
print()
for i in range(n-1, 0, -1):
for j in range(n-i, 0, -1):
print(space, end='')
for k in range(i):
print(star, end=space)
print()
첫 번째 for 문은 n까지 증가하는 행을 맡고 있다.
n에서 i를 빼면 필요한 공백개수가 나오는데 그것을 출력한다.
별 모양을 한 칸 간격을 두어(end=space) 출력한다.
다음 줄로 넘어간다.
두 번째 for 문은 n-1부터 감소하는 행이다.
n에서 i를 빼면 필요한 공백개수가 나오는데 그것을 출력한다.
별 모양을 한 칸 간격을 두어(end=space) 출력한다.
다음 줄로 넘어간다.
공백이 아닌 0을 넣어서 이해하면 더 쉽다.

여담
처음엔 총개수에서 공백 개수만큼 세어 배열을 이용해 별과 같이 배치하려고 접근했었다. 말도 안 되는 접근이었다;
하나씩 배열에 append 했고 그 결과는 당연하게 앞에서부터 배치하면 이러한 모양으로 나왔었다.
*
**
***
**
*
결국 포기하고 구글링 한 결과 뒤에 공백은 신경 쓸 필요가 없다는 점과 end=space를 사용하면 쉽게 간격을 벌릴 수 있다는 점을 알았다.(아니 알고 있던 사실인데 왜 생각 못 했지?)
https://www.codetree.ai/missions/4/problems/check-diamond?&utm_source=clipboard&utm_medium=text
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai
'BASIC > 코딩테스트' 카테고리의 다른 글
| [1764] 듣보잡 (0) | 2025.12.19 |
|---|---|
| [11723] 집합 (0) | 2025.12.18 |
| [1620] 나는야 포켓몬 마스터 이다솜 (0) | 2025.12.18 |
| [코드트리] 두 개의 직각삼각형 (0) | 2023.10.22 |
| [코드트리] 공약수 (0) | 2023.10.22 |