개발 이야기
-
[C 언어 기초 정리 02] 변수&상수, 타입, 선행처리문개발 이야기/C 2023. 9. 22. 00:09
타입 C언어는 여러 형태의 타입을 미리 작성하여 제공하고 있는데, 크게 정수형, 실수형, 그리고 문자형 타입으로 나눌 수 있다. 타입 할당되는 메모리 크기 예시(코드) 정수형 short 2byte short a = 10 int 4byte int a = 10 long 4byted int a = 1000 실수형 float 4byte float a = 1.12(6자리) double 8byte double a = 1.244(15자리) char 1byte char a = 'a' typecast를 통해서 명시적으로 타입변환이 가능하다. 변수(Variable) 변수(variable)란 데이터(data)를 저장하기 위해 프로그램에 의해 이름을 할당받은 메모리 공간을 의미한다. 변수는 기본적으로 메모리의 주소(addre..
-
[C 언어 기초 정리 01] C 프로그래밍 & 입출력개발 이야기/C 2023. 9. 20. 22:48
사담이다. 사실 c를 배운지는 오래되었지만, 너무 주먹구구식으로 배웠었다. 하지만.. 컴공(소) 전공수업을 들으면서 c로 코드를 짤 일이 매우매우 많아졌고..! 코드 예시도 c가 대다수라 이렇게 급하게 c 프로그래밍의 기초적인 내용들을 작성해본다. 현재 배우고 있는 내용 특성상 포인터와 포인터함수에 관한 내용을 위주로 작성하려고 한다. 아래의 내용들은 http://www.tcpschool.com/c/ 의 내용들과 https://wikidocs.net/book/1411 를 참조해서 작성하였다. Program & Programming Program이란 무엇일까? 프로그램이라는 것은 어떠한 일의 진행계획이나 순서를 말한다고 한다. 프로그램이란 '목적을 위해 작성된 일련의 명령문(어)의 순서나 목록'이라고 할 ..
-
LSTM(Long short term memory)개발 이야기/TIL 2023. 8. 7. 16:00
LSTM이 나오게 된 배경 RNN의 경우 상태와 현재 상태의 거리가 멀어질 경우 vanishing(exploding) gradient problem(거리가 멀 수록 gradient가 크게 줄어(증가) 학습에 영향을 주지 못하는 상태), 장기 의존성 문제(the problem of Long-Term Dependencies)가 발생하는데 이를 극복하기 위해 hidden state에 cell state를 추가한 구조이다. LSTM Long short term memory, LSTM은 이런 문제를 해결하기 위해 gate 구조를 추가하였다. LSTM 셀에서는 상태(state)가 크게 두 개의 벡터로 나누어집니다. $h_t$를 단기 상태(short-term state), $c_t$를 장기 상태(long-term s..
-
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..
-
python 우선순위 que vs 힙 자료구조개발 이야기/알고리즘 및 코테 준비 2023. 1. 27. 08:59
https://github.com/zinhyeok/algorithm_study/tree/main/priority_que GitHub - zinhyeok/algorithm_study: 알고리즘 스터디 기록용 알고리즘 스터디 기록용 . Contribute to zinhyeok/algorithm_study development by creating an account on GitHub. github.com 문제 https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0..
-
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()) ..