일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스
- 문제풀이
- c언어
- 빅데이터
- 필기
- 자바
- 해킹실습
- 스파크
- 스프링
- 데이터프로그래밍
- 위클리챌린지
- 백준
- SQL 문법
- 프로그래밍
- 기초
- SQL 정리
- 토이프로젝트
- SQL
- 데이터베이스
- 이클립스
- 파이썬
- 모의해킹
- 오라클
- 스프링부트
- MySQL
- 알고리즘
- 엘라스틱서치
- 문법
- 리눅스마스터 2급 2차
- 코딩테스트
- Today
- Total
개발일기
백준 별찍기 파이썬 문제풀이 - 2440, 2441, 2442, 2443 본문
문제 링크 : https://www.acmicpc.net/problem/2440
2440번: 별 찍기 - 3
첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제
www.acmicpc.net
# 문제풀이
1
2
3
4
|
n = int(input())
for i in range(n):
print("*" * (n - i))
|
cs |
단순히 0번째줄에는 5개, 1번째 줄에는 4개가 찍히게 된다.
ax + b = y 라는 식에 대입하게 되면 b = 5, a + 5 = 4 따라서 a = -1이 된다.
-x + 5 = y 라는 식을 구할 수 있게 된다. 따라서 5 - x 일때 여기서 5는 입력값 n이 된다.
문제 링크 : https://www.acmicpc.net/problem/2441
2441번: 별 찍기 - 4
첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.
www.acmicpc.net
# 문제풀이
1
2
3
4
5
|
n = int(input())
for i in range(n):
print(" " * i, end='')
print("*" * (n - i))
|
cs |
위의 문제와 다르게 먼제 공백이 올 수 있다. 공백의 갯수는 i의 수와 일치하기 때문에 i 만큼 공백을 출력해준 후
바로 별을 찍기 위해 end='' 를 사용해 준다.
문제링크 : https://www.acmicpc.net/problem/2442
2442번: 별 찍기 - 5
첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다.
www.acmicpc.net
# 문제풀이
1
2
3
4
5
|
n = int(input())
for i in range(n):
print(" " * (n - i - 1), end='')
print("*" * (2 * i + 1))
|
cs |
공백의 개수가 0일때 4개, 1일때 3개이다.
ax + b = y의 식에 대입하게 되면 b = 4, a = -1을 얻을 수 있으며 -x + 4 = y 의 식을 얻을 수 있다.
여기서 4는 입력 값 5 에서 1을 뺀 값이기 때문에 공백을 -i + n - 1 만큼을 찍어주면 된다.
문제링크 : https://www.acmicpc.net/problem/2443
2443번: 별 찍기 - 6
첫째 줄에는 별 2×N-1개, 둘째 줄에는 별 2×N-3개, ..., N번째 줄에는 별 1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다.
www.acmicpc.net
# 문제풀이
1
2
3
4
5
|
n = int(input())
for i in range(n, 0, -1):
print(" " * (n - i), end='')
print("*" * ((i - 1) * 2 + 1))
|
cs |
위와 똑같은 방법으로 별을 찍는다. 하지만 별을 좀 쉽게 찍기 위해서 반복문을 5 부터 1까지 반복한다.
5부터 1까지 반복하면 별의 개수는 단순히 (i - 1) * 2 + 1이 된다.
후에 i가 5일때는 0개의 공백 i가 4일때는 1개의 공백인 것으로 봐서 입력값 - i 만큼의 공백을 찍어주면 된다.
'알고리즘 문제풀이 > 백준' 카테고리의 다른 글
백준 1672번 파이썬 풀이 : DNA 해독 (0) | 2021.09.03 |
---|---|
백준 별찍기 파이썬 문제풀이 - 2444, 2445, 2446 (0) | 2021.09.02 |
백준 별찍기 문제풀이 - 2438, 2439 (2) | 2021.08.31 |
백준 1075번 파이썬 문제풀이 : 나누기 (0) | 2021.08.30 |
백준 1239 파이썬 스터디 : 차트 (0) | 2021.08.29 |