1094. [S5] 막대기
# 1094
X = int(input())
sticks = [64, ]
while True:
if sum(sticks) == X:
break
else:
shortest = min(sticks)
sticks.remove(shortest)
half = shortest // 2
sticks.append(half)
sticks.append(half)
if sum(sticks) - half >= X:
sticks.remove(half)
print(len(sticks))
문제 설명이 좀 이해가 안 돼서 여러 번 읽어본 문제다. 다만 이해만 되면 그대로 옮기기만 하면 된다. 문제를 잘 읽자!
1769. [S5] 3의 배수
# 1769
X = int(input())
cnt = 0
def switch_question(X):
return sum(map(int, list(str(X))))
while X >= 10:
X = switch_question(X)
cnt += 1
print(cnt)
print("NO" if X % 3 else "YES")
python3로 제출하니 시간 초과, pypy로 제출하니 통과했다... 파이썬은 생각보다 많이 느리다는 사실을 깨달았다.
9372. [S4] 상근이의 여행
15654. [S3] N과 M (5)
15657. [S3] N과 M (8)
11051. [S2] 이항 계수 2
# 11051
import sys
sys.setrecursionlimit(10**6)
def factorial(N):
if N > 1:
return N * factorial(N-1)
else:
return 1
N, K = map(int, input().split(" "))
print(factorial(N)//(factorial(K)*factorial(N-K)) % 10007)
이항 계수 공식을 그대로 옮기는 식으로 작성했다가 RecursionError가 나왔고... 아래 링크대로 recursion limit를 늘려주었다
그런데 다시 틀렸습니다가 떠서 왜지 했는데 질문 게시판을 보던 중 파이썬의 실수형 float의 정확도 때문에 오류가 날 수 있겠다는 생각이 들었고... 그냥 나눗셈이 아닌 몫을 구하도록 //로 나눴더니 바로 정답이었다. 이유를 정확히 모르겠다.
1699. [S2] 제곱수의 합
25391. [G5] 특별상
이번 주는 다른 일들이 많아 잘 풀지는 못했다...ㅠㅠ 다음 주에는 다시 열심히 풀어야겠다.
'코딩테스트 > 백준' 카테고리의 다른 글
[백준 20920] 영단어 암기는 괴로워 (0) | 2023.08.18 |
---|---|
[COSE403] 2주차 연습 풀이와 설명 모음 (0) | 2023.07.10 |
[COSE403] 1주차 연습 풀이와 설명 모음 (0) | 2023.07.02 |
[백준 10250] ACM 호텔 (2) | 2023.06.04 |
[백준 2164] 카드2 (0) | 2023.05.28 |