1. 2442번: 별 찍기 - 5 / 대칭 별찍기
https://www.acmicpc.net/problem/2442
2442번: 별 찍기 - 5
첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다.
www.acmicpc.net
import sys
input = sys.stdin.readline
a = int(input())
for i in range(1, a+1):
print(' '*(a-i)+'*'*(2*i-1))
2. 2443번 : 별 찍기 - 6 / 역삼각형 별찍기
https://www.acmicpc.net/problem/2443
2443번: 별 찍기 - 6
첫째 줄에는 별 2×N-1개, 둘째 줄에는 별 2×N-3개, ..., N번째 줄에는 별 1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다.
www.acmicpc.net
import sys
input = sys.stdin.readline
a = int(input())
for i in range(a, 0, -1):
print(' '*(a-i)+'*'*(2*i-1))
3. 2798번 : 블랙잭
https://www.acmicpc.net/problem/2798
2798번: 블랙잭
첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장
www.acmicpc.net
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
a = list(map(int, input().split()))
res = 0
for i in range(n-2):
for j in range(i+1, n-1):
for k in range(j+1, n):
if res < a[i] + a[j] + a[k] <= m:
res = a[i] + a[j] + a[k]
print(res)
4. 최댓값(2차원 배열)
https://www.acmicpc.net/problem/2566
2566번: 최댓값
첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다.
www.acmicpc.net
import sys
input = sys.stdin.readline
val = -1
idx = [0, 0]
for i in range(2):
a = list(map(int, input().split()))
for j in range(9):
if val < a[j]:
val = a[j]
idx = [i+1, j+1]
print(val)
print(*idx)
^ 리스트 사용하지 않은 방법
import sys
input = sys.stdin.readline
a = []
for i in range(9):
b = list(map(int, input().split()))
a. append(b)
val = a[0][0]
idx = [1, 1]
for i in range(9):
for j in range(9):
if val < a[i][j]:
val = a[i][j]
idx = [i+1, j+1]
print(val)
print(*idx)
^리스트에 저장 후 사용
5. 카이사르 암호 (아스키코드)
https://www.acmicpc.net/problem/5598
5598번: 카이사르 암호
가이우스 율리우스 카이사르(Gaius Julius Caesar)는 고대 로마 군인이자 정치가였다. 카이사르는 비밀스럽게 편지를 쓸 때, 'A'를 'D로', 'B'를 'E'로, 'C'를 'F'로... 이런 식으로 알파벳 문자를 3개씩 건
www.acmicpc.net
import sys
input = sys.stdin.readline
a = input().rstrip()
b = ''
for i in a:
c = ord(i) - 3
if c < ord('A'):
c += 26
b += chr(c)
print(b)
6. Score
https://www.acmicpc.net/problem/8958
8958번: OX퀴즈
"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수
www.acmicpc.net
* 풀이 과정
res = 출력할 최종 점수
v = 연속 된 경우 추가로 받아야 하는 점수
t = int(input())
for i in range(t):
k = input().rstrip()
score = 0
bonus = 0
for x in k:
if x == 'O':
bonus += 1 #연속된 O의 값을 계속 더하기
else:
bonus = 0
score += bonus
print(score)
7. 체스판
https://www.acmicpc.net/problem/1100
1100번: 하얀 칸
체스판은 8×8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램
www.acmicpc.net
a = []
for i in range(8):
b = input().rstrip()
a.append(b)
res = 0
for i in range(8):
for j in range(8):
if a[i][j] == '.':
continue
if (i % 2 == 0 and j % 2 == 0) or (i % 2 == 1 and j % 2 == 1):
res += 1
print(res)
'Python > BaekJoon' 카테고리의 다른 글
[코딩테스트 with 파이썬] 알고리즘 (1) - ArrayList와 LinkedList (1) | 2023.11.26 |
---|---|
[Baekjoon] Baekjoon 작성 시 팁, 주의사항, 자주 틀리는 것 (1) | 2022.10.05 |
[Baekjoon] 1000. A+B (0) | 2022.07.30 |