개발 이야기/TIL
-
RNN(recurrent neural network)개발 이야기/TIL 2023. 8. 7. 14:13
Transformer: Attention is all you need를 읽기 전에 그 전에 나왔던 NLP 아키텍쳐 구조인 Recurrent Neural Networks(RNN)과 RNN의 일종인 Long Short-Term Memory models(LSTM)에 관해 간단히 리뷰해보려고 한다. First Order System 현재 시간의 상태는 이전 시간의 상태와만 관련이 있다. x: 상태(시세, 날씨, 숫자 등) t: 시간 u: 현재의 입력 이라고 하면 $$ x_t = f(x_{t-1},u_t) $$ 해당 시스템은 어떤 외부 입력 없이(초기조건을 제외하고), 잘 돌아간다, 즉, autonomus system이다 Q) 모든 시간 대 t에서 모든 상태 $ x_t $가 관측 가능한가? 보이지 않는 변수가 있..
-
TIL 파이썬으로 조합과 순열 구하기개발 이야기/TIL 2023. 2. 1. 20:15
브루트 포스 문제를 풀던 도중 리스트에서 조합을 만들어야하는 문제들이 많아서 작성하게 되었다. 파이썬에서 import를 하면 바로 구현 가능하지만 함수를 직접 구현하는 것이 의미가 있을 거 같아 글을 작성하였다! 방법 1 itertools 라이브러리 이용 조합 from itertools import combinations arr = [0, 1, 2, 3, 4, 5] print(list(combinations(arr, 3))) 순열 from itertools import permutations arr = [0, 1, 2, 3, 4, 5] print(list(permutations(arr, 3))) 방법 2 재귀를 이용한 방법 조합 def combinations(lst, r): result = [] if r..
-
Andorid studio AVD emulator is already running error 해결기개발 이야기/TIL 2023. 1. 25. 22:20
문제 에뮬레이터를 비정상 종료했을 때, 다시 다른 앱을 같은 AVD에 돌리려고 하면 에러가 발생하는 것 같다. 기존에 진행되는 프로세스를 종료해야한다. 해결방법 에러메세지에 lock 파일이 있다는 폴더로 들어가 lock 확장자인 폴더와 파일을 모두 삭제한다 이 때 특정 프로그램에서 파일이 열려있어서 삭제가 되지 않는 경우가 많다. 작업관리자에 들어가 리소스 관리를 클릭하자. 이후 해당 파일을 검색한 후 프로세스 끝내기를 클릭한 후 다시 삭제를 시도한다. 이후에 AVD를 종료하고 삭제, 재설치하면 문제는 해결된다. 이제는 스튜디오를 종료하기 전 AVD를 종료하는 습관을 들이도록 하자!
-
Python 백준 2751 set in과 list in 비교 + 이진탐색 풀이개발 이야기/TIL 2023. 1. 24. 16:16
문제 https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 시간 제한이 2초인 문제이다. 따라서 기본적인 로직을 생각하고, 시간복잡도를 고려했어야 했다. 문제를 list를 이용하는 경우 혹은 순차탐색을 이용할 경우 시간초과로 문제를 풀 수 없었다. - 첫 풀이 import sys N = int(input()) n_lst = sys.stdin.readline().strip().split() M = int(input()) ..
-
백준 18870 정렬&시간초과개발 이야기/TIL 2023. 1. 24. 12:28
문제 자체는 어렵지는 않았지만, 시간복잡도를 고려하지 않으면 시간초과가 나는 문제였다. 코테 문외한&초보인 나에게는 풀었는데 시간 초과가 나니 답답했던 문제 https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 문제 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 ..
-
Python 자료형 List, Tuple(튜플), dictionary(딕셔너리), set개발 이야기/TIL 2023. 1. 24. 11:18
List lst = [1,2,3,0,-4,100] list, 파이썬에서는 배열(array)를 제공하지 않는데, 대신 list를 제공한다. 다만 이는 내부적으로 dynamic array와 같다. list에서 특정 요소에 접근하기 lst = [1,2,3,0,-4,100] lst[0] 1 lst[-1] 100 이중 list에서 값에 접근하기 lst = [1,2,[100,99],4] lst[2] [100, 99] lst[2][0] 100 이중 배열 선언하기 lst = [[0 for j in range(19)] for i in range(19)] #j column, i row 여러 함수들 lst = [1,2,3,0,-4,100] lst.append(2) lst.sort() lst.reverse() lst.inse..
-
23.1.17 Kotlin Setter&Getter개발 이야기/TIL 2023. 1. 17. 17:41
이어서 코틀린의 setter와 getter이다. 14일 글을 조금 더 자세히 적어보고자 한다(수정본..에 가깝다) Getter & Setter 기본형 1. Kotlin에서는 JAVA와 다르게 primal constructor에 대해 Getter와 Setter을 컴파일 시 생성해준다. public class Button { private int width; private int height; //constructor public Button(int width, int height){ this.width = width this.height = height } //getter public int getWidth(){ return width; } public int getHeight(){ return heigh..
-
Kotlin Data Class개발 이야기/TIL 2023. 1. 17. 15:46
코틀린의 Data Class는 일반적인 Class와 다르게 데이터를 다룰때 편한 class이다. 특징 코틀린에서 getter와 setter를 컴파일 타임에서 생성해주는 것처럼, data class는 컴파일 타임에서 equls(), hashCode(), toString(), copy(), componentN()를 생성해준다. 기본생성자를 1개 이상 가져야하고, val or var로 선언해야한다. 상속을 받을 수 없다(부모클래스에서 내부적으로 자동생성하는 함수들이 있는 경우 충돌이 날 수도 있다) equals() 내용이 같은지 판단하여, 값이 일치하면 true, 불일치시 false를 반환한다(type은 비교하지 않는다) fun main(){ val a = User(10,"진혁") println(a==User..