2024/10/18
[Today]
백준 2차 :: 누적 2개 / (실버3) 1002. 터렛, 1003. 피보나치 함수
[전체 코딩 테스트 문제 풀이 과정]
• 프로그래머스 :: 누적 372개 / (Lv0) 236개 (Lv1) 73개 (Lv2) 53개 (Lv3) 10개
• 백준 1차 :: 누적 173개 / (브론즈1) 13개 (브론즈2) 23개 (브론즈3) 26개 (브론즈4) 9개 (브론즈5) 37개 (실버1) 5개 (실버2) 6개 (실버3) 10개 (실버4) 19개 (실버5) 18개 (골드1) 1개 (골드5) 1개
• 백준 2차 :: 누적 2개 / (실버3) 2개
• SW expert academy:: 누적 15개 / D1 6개 D2 9개
풀이한 문제
백준 실버3
1002번: 터렛 (acmicpc.net)
1003번: 피보나치 함수 (acmicpc.net)
문제 풀이
백준 실버3
1002번: 터렛 (acmicpc.net)
t = int(input())
for testcase in range(t):
x1,y1,r1,x2,y2,r2 = map(int,input().split())
## 좌표간 거리
d = (((x1-x2)**2)+((y1-y2)**2))**(1/2)
## 무한개 (아예 동일)
if d==0 and r1 == r2:
print(-1)
## 한 점에서 만나는 경우
elif d == r1+r2 or d == abs(r2-r1): #외접 or 내접
print(1)
## 두점에서 만나는 경우
elif abs(r2-r1) < d < r1+r2:
print(2)
else:
print(0)
1003번: 피보나치 함수 (acmicpc.net)
## 시간초과 발생
T = int(input())
def fib(n):
if n<=1:
answer[n] += 1
return n
return fib(n-2)+fib(n-1)
for testcase in range(T):
n = int(input())
answer = {0:0,1:0}
fib(n)
print(answer[0],answer[1])
## 동적 프로그래밍
fib = [(0,0)]*(41)
fib[0] = (1,0) ; fib[1] = (0,1) # 0:0-1번,1-0번/ 1:0-0번,1-1번/ 2:0-1번,1-1번/ 3:0-1번,1-2번
for i in range(2,41):
fib[i] = (fib[i-2][0] + fib[i-1][0] , fib[i-2][1] + fib[i-1][1])
#(0,0) = ()
T = int(input())
for testcase in range(T):
n = int(input())
print(fib[n][0],fib[n][1])
미완성 문제
프로그래머스 Lv2
- 다리를 지나는 트럭