무제
[백준] 10820 문자열 분석 / 1463 1로 만들기 본문
1. 10820 문자열 분석
파이썬에서는 input()은 EOF 에러를 발생시키기 때문에, except 를 통해 예외처리를 하여 정상적으로 프로세스를 종료
sys.stdin.readline()은 빈문자열 발생으로 입력초과 발생...
와 이런 차이가 있었다니...
import sys
# input = sys.stdin.readline
while True:
try:
s = input()
capital = 0
letter = 0
num = 0
space = 0
for i in s :
if i.isupper():
capital += 1
elif i.islower():
letter +=1
elif i.isnumeric():
num +=1
elif i == " " :
space += 1
print(letter, capital, num, space)
except :
break
2. 1로 만들기
드디어 DP 문제를 풀기 시작했고, 예상했던대로 어렵다..
이전 수의 최소값에서 1을 더한 것과, 나누었을 경우의 최소값에서 1을 더한 값을 비교하는 것이 포인트...
import sys
input = sys.stdin.readline
n = int(input())
tmp = [0]*((10**6)+1)
for i in range(2, n+1):
tmp[i] = tmp[i-1]+1
if i % 2 ==0:
tmp[i] = min(tmp[i], tmp[i//2]+1)
if i % 3 ==0:
tmp[i] = min(tmp[i], tmp[i//3]+1)
print(tmp[n])'Study > Coding Test 오답노트' 카테고리의 다른 글
| [백준] 1676번 팩토리얼 0의 개수 (0) | 2024.11.29 |
|---|---|
| [백준] 6588번 골드바흐의 추측 (0) | 2024.11.27 |
| [백준] 17299번 오등큰수 (0) | 2024.11.22 |
| [백준] 10799번 쇠막대기 (2) | 2024.11.13 |
| [백준] 17413번 단어뒤집기 2 (0) | 2024.11.12 |
Comments