본문 바로가기

Study Log31

프로그래머스 / [PCCP 기출문제] 2번 / 석유 시추 https://school.programmers.co.kr/learn/courses/30/lessons/250136 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 내가 푼 풀이[정리]DFS를 이용하여 인접한 석유들의 size를 구하고 oil변수에 column별 시추할 수 있는 석유의 양을 더해서 저장한다.DFS가 아닌 BFS를 사용해도 된다.제일 시간을 많이 들인 부분maxC를 해서 최대 column을 계산하고 넣는건 했는데 minC 계산하는걸 빼먹어서 계속 오답이 나왔다.import java.util.*;class Position{ int r=-1, .. 2024. 9. 27.
프로그래머스 / 도넛과 막대 그래프 https://school.programmers.co.kr/learn/courses/30/lessons/258711 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr작성한 코드[설명]1. 추가된 edge는 나가는 path가 2개 이상이고, 들어오는 path(incoming)이 0개이다. -> 이를 이용해 추가된 edge 찾기2. 추가된 edge를 기준으로 각 그래프가 어떤 그래피인지 판별한다. (DFS 이용)public int[] solution(int[][] edges) { // Brute Force Map> map = new Hash.. 2024. 9. 27.
[삽질기록] Conda ResolvePackageNotFound 에러 (feat. environment.yml) 학위논문을 위해 이것저것 조사를 하고 있었다. 내가 하려는 것과 관련된 논문이 있었고, 그 논문에는 코드도 있어서 그 모델을 돌려보기 위해 코랩을 켰다. 문제는 모델도 돌려보기 전에 환경 설정에 진짜 3시간정도가 소모되었고, 그마저도 코랩에서 끊어버려서 초기화되었다는 것이다. 코랩에 돌리면 안되겠다는 생각이 들어서 연구실 컴퓨터로 돌리려고 했는데 거기서 ResolvePackageNotFound에러가 발생했다. 아마 코랩에서 3시간이나 소모된 이유가 저거였으리라. (아니 그럼 진작 알려주지..) 이것도 해보고 저것도 해봤지만 정말 허무하게도 그 이유는 올려준 environment.yml이 OS에 독립적이지 않았기 때문 결국 wsl에 환경을 만들고 나서야 오류 없이 환경 셋업이 완료되었다... 코드 올려주실.. 2023. 2. 8.
PyTorch 공부 (부제: Simplified MobileNet 구현) 듣고 있는 강의의 과제를 어찌저찌 하긴 했는데 도저히 이해가 잘 가지 않아서 파이토치로 모델 만들기를 연습해보기로 했다. 하려는 것은 친구가 듣는 수업의 과제로 나온 것 구현하기 모바일넷을 약간 변형한 것인데 구조는 다음 그림과 같다. 아래는 내가 일반적인 모바일넷 구조를 다른 사람이 구현한 코드를 보고 이해한 후 참고하면서 위의 구조를 구현한 코드이다. # 모델 구성 import torch.nn as nn from torchsummary import summary # Depthwise Seperable Convolutions with Depthwise and Pointwise layers followed by batchnorm and ReLU # 모바일넷에서 정의한 Depthwise SeperableC.. 2022. 12. 5.
02. Supervised Learning of Behaviors Terminology $s_{t}$ = state - 일반적으로 markovian state로 가정함, 현재 시스템의 설정을 표현한 것 (ex. 좌표, velocity 등) $o_{t}$ = observation - input $a_{t}$ = action - output $\pi_{\theta}\left ( a_{t}\mid o_{t} \right )$ = policy - input에서 output으로 가기 위한 중간과정 $\pi_{\theta}\left ( a_{t}\mid s_{t} \right )$ - policy (fully observed) - 더 제한적인 특별한 케이스 Imitation Learning 사람에게서 추출한 $o_{t}$와 $s_{t}$를 사용함 Behavioral Cloning.. 2022. 11. 22.
LeetCode 374. Guess Number Higher or Lower 문제 링크 https://leetcode.com/problems/guess-number-higher-or-lower/ 374. Guess Number Higher or Lower Guess Number Higher or Lower - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com Companies We are playing the Guess Game. The game is as follows: I pick a number from 1 to n. You have .. 2022. 11. 16.
01. OT UC Berkeley에서 수업자료로 썼던 강의 영상과 슬라이드가 있어서 이걸 기반으로 공부하려고 한다. 첫 번째 강의는 전반적으로 RL에 대해 소개하는 파트였다. 강화학습이란? Learning-based 의사 결정을 위한 수학적 형식 주의 --> 알고리즘을 디자인하는 것 경험으로부터 의사 결정과 control을 배우는 방법 --> 컨트롤러나 규칙에 의존하지 않음 다른 머신러닝과 다른 점 지도학습 i.i.d 데이터라고 가정 (독립적이고 완전 분리 가능한 데이터) 알려진 ground truth output이 학습에 사용됨 강화학습 데이터가 i.i.d가 아님 (이전의 출력이 미래의 입력에 영향을 미침) ground truth answer을 알 수 없는 경우 --> 단지 성공/실패만 알 수 있는 경우 더 일반적.. 2022. 11. 15.
pm2와 관련된 것들 [pm2 설치하기] npm install pm2 -g [console.log에서 찍은 로그 확인] 최근 15 line에서 확인하는 방법: pm2 list 모든 log 확인법: cd ~/.pm2/logs로 이동하여 확인하기 (모든 로그가 저장되는지는 아직 확실히는 모르겠음) [백그라운드에서 서버 돌리기] - 기본: pm2 start [시작할 스크립트] - npm 사용시: pm2 start npm -- start 2022. 10. 12.
[삽질기록] RDS 연결 안됨 AWS를 사용하려고 시도중인데 RDS를 사용해 데이터베이스를 만들어보았다. 문제는 연결이.. 안되었다는 것이다. 인바운드 규칙도 계속 건드려보고 데이터베이스 인스턴스를 삭제했다 생성했다를 반복했는데 문제는 인바운드도 그 어떠한 것도 아니고 퍼블릭 엑세스 가능이 '아니요'로 되어있는 것이었다. 아.. 열받아^^ 2022. 10. 11.
바뀐 저장소 설정 가끔 안드로이드 스튜디오 튜토리얼을 보면 build.gradle (Project:프로젝트 이름)의 buildscript에 mavenCentral같은 것을 buildsciprt / repositories에 추가하라는 얘기가 나온다.하지만 안드로이드 스튜디오가 업그레이드 되면서 buildscript가 없어지고 plugins만 있는 것을 볼 수 있다.그러면 어떻게 저장소를 추가할까?그래서 검색을 해본 결과 다음과 같은 결과(?)가 나왔다.https://developer.android.com/studio/releases/gradle-plugin?hl=ko  Android Gradle 플러그인 출시 노트  |  Android 개발자  |  Android DevelopersAndroid 스튜디오 빌드 시스템은 Gr.. 2022. 10. 10.
코틀린 공부하면서 배운 것 정리 [세미콜론 여부] - 붙이던 안붙이던 상관 없다 [var / val 차이] - var (= variable): mutable (= 읽기/쓰기가 가능한 그냥 기본 변수) - val (= valuable): immutable (= 읽기만 가능한 말하자면 final처리한 변수) [변수 생성 규칙] 접근제어자 var (혹은 val) 변수명: 자료형 = 초기화 ex) val name: String = "HZie"; ex) private var height: Int = 160; 이 때 자료형을 생략하면 코틀린이 알아서 자료형을 추정한다. 기본적으로 변수는 non-null로 생성된다. nullable로 변수를 생성하기 위해서는 자료형 뒤에 ?를 붙이면 된다. ex) var num: Int?=10; [Null 처리] .. 2022. 10. 3.
잘 까먹는 자료구조들 Balanced Tree 왼쪽과 오른쪽의 자식 수가 같거나 하나의 차이만 나는 것 Binary Search Tree 이진탐색을 할 때 사용되는 트리로 부모 노드의 오른쪽에는 부모노드보다 큰 수, 왼쪽에는 작은 수가 들어간다. Heap 최대힙, 최소힙이 있는데 모두 Root가 각각 최대이거나 최소이다. 즉, 가장 마지막으로 Numbering되는 자식이 최소이거나 최대이다. 삽입 연산 시에는 트리의 가장 마지막 자식 다음에 넣고 부모 노드와 하나씩 비교 / 스왑해가면서 자기 자리를 찾는다. 삭제 연산 시에는 루트값을 삭제하고 가장 마지막 자식을 루트에 넣은 후 하나씩 비교하면서 트리를 정립한다. 이때 힙과 BST의 차이는 힙은 맨 위가 max 혹은 min이라는 것 외에 정렬이 되어있지 않지만 BST의 경우는.. 2022. 6. 3.