본문 바로가기

분류 전체보기443

[백준 1003번] 피보나치 함수 import sys input = sys.stdin.readline def fibo(n): if n == 0: print(1,0) return None if n == 1: print(0,1) return None dp = [[0]*2 for _ in range(n+1)] dp[0][0], dp[0][1] = 1,0 dp[1][0], dp[1][1] = 0,1 for i in range(2,n+1): dp[i][0] = dp[i-1][0] + dp[i-2][0] dp[i][1] = dp[i-1][1] + dp[i-2][1] print(dp[n][0],dp[n][1]) t = int(input()) testcase = [0]*t for i in range(t): testcase[i] = int(input().. 2023. 3. 13.
[백준 2775번] 부녀회장이 될테야 # 1 3 6 10 # 1 2 3 4 def dynamic(data): floor = data[0] index = data[1] dp = [[0] * (index+1) for _ in range(floor+1)] for i in range(1,index+1): dp[0][i] = i for i in range(1,floor+1): for j in range(1, index+1): if j == 1: dp[i][j] = 1 else: dp[i][j] = dp[i-1][j] + dp[i][j-1] return dp[floor][index] t = int(input()) data = [[0]*2 for _ in range(t)] for i in range(t): for j in range(2): data[i].. 2023. 3. 13.
[JS] 자바스크립트 배열의 slice()와 splice() 함수 1) slice() 함수 slice() 함수는 배열로 부터 특정 범위를 복사한 값들을 담고 있는 새로운 배열을 만드는데 사용합니다. 첫번째 인자로 시작 인덱스(index), 두번째 인자로 종료 인덱스를 받으며, 시작 인덱스부터 종료 인덱스까지 값을 복사하여 반환합니다. 여기서 주의할 점은 첫번째 인자로 넘어온 시작 인덱스가 가리키는 값은 포함하지만, 두번째 인자로 넘어온 종료 인덱스가 가리키는 값은 포함하지 않는다는 것입니다. 첫번째 인자도 넘기지 않으면, 배열의 처음 값부터 마지막 값까지 전체를 복제해버리는 효과를 낼 수 있습니다. 두번째 인자를 넘기지 않으면, 시작 인덱스가 가리키는 값부터 배열의 마지막 값까지 모두 복사해줍니다. slice() 함수는 밑에서 다룰 splice() 함수와 달리 아무리 .. 2023. 3. 13.
[Typescript] Axios config 설정하기 import axios, { AxiosRequestConfig } from 'axios'; const axiosConfig: AxiosRequestConfig = { baseURL: 'BASE_URL' } const client = axios.create(axiosConfig); // client: AxiosInstance const response = await client.get('/user'); const response = await client.post('/user/add', { id: 'mo', name: 'mocci' }); 통신모듈로 axios를 사용할 때 baseURL이나 interceptor, headers 등 공통으로 설정을 적용하고 싶은 경우 config를 적용한 instance를 .. 2023. 3. 11.
[백준 9095번] 1, 2, 3 더하기 def dynamic(n): if n == 1: return 1 if n == 2: return 2 if n == 3: return 4 dp = [0]*(n+1) dp[1],dp[2],dp[3] = 1, 2, 4 for i in range(4, n+1): dp[i] = dp[i-1] + dp[i-2] + dp[i-3] return dp[n] t = int(input()) result = [] for i in range(t): n = int(input()) result.append(dynamic(n)) for i in result: print(i) 이번 문제는 주어진 정수 N을 1, 2, 3의 합으로 만들 수 있는 경우의 수를 구하는 문제이다. n=1, n=2, n=3 인 경우를 DP 테이블에 저장하고 n.. 2023. 3. 10.
[백준 2156번] 포도주 시식 n = int(input()) weight = [0]*10000 dp = [0]*10000 for i in range(n): weight[i] = int(input()) dp[0] = weight[0] dp[1] = weight[0] + weight[1] dp[2] = max(weight[2]+weight[0], weight[2]+weight[1], dp[1]) for i in range(3,n): dp[i]=max(weight[i]+dp[i-2], weight[i]+weight[i-1]+dp[i-3],dp[i-1]) print(max(dp)) 이번 문제는 이전에 풀었던 '2579번 - 계단 오르기' 문제와 유사한 문제로, 연속 3개의 포도주를 마시지 못한다는 조건 하에 최대로 마실 수 있는 포도주의 양.. 2023. 3. 8.