반응형
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
- CSS
- 입문
- 문자열
- Beakjoon
- 10926
- 설명
- 꾸준히
- 초보
- 친절한 설명
- C Programming
- 문제풀이
- HTML
- 정리
- 10807
- Baekjoon
- 심화1
- C 언어
- 백준
- 파이썬
- C
- VS
- 코드엔진
- Implemention
- Python
- 그리디
- 구현
- 알고리즘
- greedy
- implement
- c언어
Archives
- Today
- Total
안경잡이 구루루
백준 2444 (별 찍기 -7 ) [Python/파이썬] 본문
반응형
https://www.acmicpc.net/problem/2444
나:
N = int(input())
for i in range(1,N+1):
print(' '*(N-i)+ '*'*(2*i-1))
for j in range(N-1,1-1,-1):
print(' '*(N-j)+ '*'*(2*j-1))
완성된 코드는 위와 같다,
우선 문제를 풀기 전 별 반복 횟수가 커졌다가 다시 작아지는 과정이라서 반복이 두번은 필요하다고 생각했다.
별의 개수는 첫째 줄에 입력받은 N에 따라 2N -1 의 규칙성으로 늘어나고 줄어드는 모습을 관찰 할 수 있다.
for i in range(1,N+1):
print(' '*(N-i)+ '*'*(2*i-1))
그래서 첫번 째 반복문은 별의 개수가 점점 늘어나는 과정을 구현했다.
그리고 별의 개수가 제일 많은 상황까지 출력한다. 즉, 별의 개수가 최대일 때 까지 출력함.
이때 range()함수는 끝의 숫자를 포함하지 않기 때문에 +1 을 해주었다.
for j in range(N-1,1-1,-1):
print(' '*(N-j)+ '*'*(2*j-1))
두번 째 반복문은 별의 개수가 점점 줄어드는 과정을 구현했다.
위에서 별의 개수가 최대일 때를 구현했으니 줄어드는 과정부터 반복하면 된다.
이때 위와 달리 개수가 줄어들기 위해 range() 함수의 step 부분에 -1을 주고 끝의 숫자포함하지 않아 -1 해줌
반응형
'파이썬(Python) > 문제풀이(백준,BaekJoon)' 카테고리의 다른 글
백준 10798 (세로읽기) [Python/파이썬] (0) | 2023.08.31 |
---|---|
백준 2566 (최댓값) [Python/파이썬] (0) | 2023.08.30 |
백준 10988 (팰린드롬인지 확인하기) [Python/파이썬] (0) | 2023.08.29 |
백준 25206 (너의 평점은) [Python/ 파이썬] (0) | 2023.08.29 |
백준 3003 (킹, 퀸, 룩, 비숍, 나이트, 폰) [Python/파이썬] (0) | 2023.08.26 |