10870 의 피보나치 문제는 메모이제이션을 활용한 DP 풀이로 시간 제한 & 메모리 제한을 넘길 수 있었다 n = int(input()) dp = [0]*21 dp[0] = 0 dp[1] = 1 def fibo(n): for i in range(2, n+1): dp[i] = dp[i-1] + dp[i-2] return dp[n] print(fibo(n))
전체 글
Data Engineering과 Cloud Native 기술에 대해 Dive Deep 하는 플랫폼 엔지니어가 되는 것을 목표로 하고 있습니다. 경험과 공부한 내용을 기록하며 지속가능한 엔지니어가 되는 것이 꿈입니다.Selection Sort : 현재 배열중에 가장 작은 원소를 고른다. 3 5 1 8 2 9 가장 작은 원소와 현재 인덱스의 원소의 자리를 바꾼다. 1 5 3 8 2 9 가장 작은 원소는 이미 정렬된 것이므로, 그 다음원소부터 n-1번까지 확인하여 가장 작은 원소를 고른다. 1 5 3 8 2 9 --------- 1을 제외하면 2가 가장 작은 원소이다. 1 2 3 8 5 9 --------- 1, 2 까지는 정렬된 것이다. 1 2 3 8 5 9 --------- 1, 2, 3 까지는 정렬되었다. 이 경우 3은 자리를 바꾸지 않아도 된다. 1 2 3 5 8 9 --------- 5 8 9 중에 가장 작은 수는 5이므로 8과 5의 위치를 바꿨다. 1 2 3 5 8 9 ---------- 9 를 제외한 나머지..
https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 오랜만에 해시 유형을 풀어보았다 !! 오랜만이라서 딕셔너리 쓰는 방법을 까먹었다,,, i ) key 로 value 가져오기 : get() Python 에서 key를 이용하여 딕셔너리의 value를 가져오려면 get() 함수를 사용하면 된다. 그런데 아주 편리한 점은, get(key값, default값) 현재 key 가 딕셔너리에 없으면 def..
https://www.acmicpc.net/problem/2448 2448번: 별 찍기 - 11 첫째 줄에 N이 주어진다. N은 항상 3×2k 수이다. (3, 6, 12, 24, 48, ...) (0 ≤ k ≤ 10, k는 정수) www.acmicpc.net 1. 우선 graph의 원소들을 초기화 한다 ! 2. 나는 n ==3 이면 가장 기본 모양의 삼각형이므로, n==3 이면 별 모양을 넣어주는 걸로 풀었다 n==3일때의 삼각형 모양이 반복되어 만들어지기 때문이다 !! 3. n==3 일때 별을 찍고, 이 모양이 반복되므로, x좌표와 y좌표값을 찾아서 반복해 주면 되는데, 그것이 star 함수를 재귀 호출 한 부분이다 왼쪽 아래 부분, 오른쪽 아래 부분, 그리고 현재 x,y 부분을 나눠서 별을 찍는다고 ..
data = list(map(int, input())) data.sort(reverse=True) print("".join(map(str, data))) 그냥 쉬어가는 차원에서 풀어봄
What is the OOP ? : OOP is the creation of objects that has both data and functions. What is the principle of OOP ? : Abstraction, Encapsulation, Inheritance and Polymorphism. What is an Object ? Objects has data and instructions to act on that data. What is class ? : Class is like a template. Blueprint for an object. It is a user-defined data type, which holds its own data members and member fu..
editer(source code) -> source file --(compiler)--> object file ---(linker)--> execute file ---> RUN source code : high level language what compiler's do ? - preprocess : #define variables save , ignores comments - compile : preprocessed code to assembly code - assembler : assembly code to binary code (= machine code that hardware can understand) what linker's do? - link library and object file -..
https://www.acmicpc.net/problem/2225 2225번: 합분해 첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 짜잔 이렇게 dp 테이블을 그려서 dp[i][j] = dp[i-1][j] + dp[i][j-1] 라는 점화식을 도출해내면 끝이다 단 i -1 > 0, j -1> 0 이어야 하므로 i, j 는 각각 2이상이어야 한다 !! 그러기 위해서는 dp[?][1] 은 n (자기자신) 값으로 초기화 해주어야 하고 dp[1][?] 는 1로 초기화해주어야 한다 # 2225 합분해 n, k = map(int, input().split()) dp = [[0] * 201 for _ in range(201)] for i in range(1, 201..