반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 백준
- 초보
- Baekjoon
- implement
- 심화1
- Implemention
- C Programming
- 구현
- 파이썬
- HTML
- 입문
- 10807
- 문자열
- 알고리즘
- Python
- c언어
- greedy
- 설명
- CSS
- 친절한 설명
- VS
- 꾸준히
- 문제풀이
- 그리디
- Beakjoon
- 코드엔진
- 10926
- C
- C 언어
- 정리
Archives
- Today
- Total
안경잡이 구루루
백준 2446 ( 별 찍기 - 9 ) [ Python ] 본문
반응형
나:
N = int(input())
1 <= N <= 100
for i in range(N-1):
print(' '*i+ '*'*((N+(N-1))-2*i))
for i in range(N):
print(' '*(N-1-i) + '*'*((N-(N-1))+2*i))
완성된 코드는 위와 같다.
N = int(input())
1 <= N <= 100
2 * N-1 번 반복할 N의 값을 int형으로 받고 그것의 범위를 선언한다.
for i in range(N-1):
print(' '*i+ '*'*((N+(N-1))-2*i))
위 문제는 크게 별(*)이 2개씩 감소하며 빈칸이 1개씩 늘어나는 부분과 그 반대 부분 2가지로 나눠서 풀 수 있다.
위 코드는 별이 감소하며 빈칸이 늘어나는 부분으로 for 반복문을 이용했다.
빈칸의 개수는 i의 값과 일치하고 별(*)의 개수는 최대출력 (N+N-1)에서 증가하는 빈칸값 (2 * i ) 만큼 빼면 된다.
for i in range(N):
print(' '*(N-1-i) + '*'*((N-(N-1))+2*i))
위 코드는 별이 증가하며 빈칸이 늘어나느 부분으로 for 반복문을 사용한다.
그러나 이전 반복문에서 1개까지 별을 출력했기 때문에 여기선 3개부터 별의 출력을 2개씩 증가시켜야 한다.
빈칸의 개수는 최대 개수 N-1에서 i만큼 감소한 것과 같고 별의 출력은 최소개수 N-N-1에서 2*i만큼 증가시키도록 더하면 된다.
반응형
'파이썬(Python) > 문제풀이(백준,BaekJoon)' 카테고리의 다른 글
백준 10818 ( 최소, 최대 ) [ Python ] (0) | 2020.06.04 |
---|---|
백준 10996 ( 별 찍기 - 21 ) [ Python ] (0) | 2020.06.04 |
백준 2523 ( 별 찍기 - 13 ) [ Python ] (0) | 2020.05.28 |
백준 10871 ( 세 수 ) [ Python ] (0) | 2020.05.26 |
백준 5543 ( 상근날드 ) [ Python ] (0) | 2020.05.23 |