no image
[파이썬] 백준 1463번 1로 만들기
1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 시간 제한 0.15초 메모리 제한 128MB 문제 정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다. X가 3으로 나누어 떨어지면, 3으로 나눈다. X가 2로 나누어 떨어지면, 2로 나눈다. 1을 뺀다. 정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오. 입력 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. 출력 첫째 줄에 연산을 하는 횟수의 최솟값을 출력한다. 예제 입력 1 2 예제 출력 1 1 예제 입력 2 10 예제 출력 2 3 힌트 10의 경우에 10..
2022.07.12
no image
Feature Engineering 방법과 효과
Combining(Cross columns) columns를 결합해서 새로운 column 생성 조합에 사용되는 column에 unique한 값이 너무 많다면 단순히 경우의 수 나열과 똑같아져 의미가 없어짐 따라서 unique한 값이 적은 column끼리 묶어서 새로운 columns를 만들도록 하자 → 새로운 특성을 발견 가능 wide&deep에서 활용 Categorifying 0 ~ n - 1까지의 category로 변경 latent vector를 얻는 딥러닝에서 많이 활용 기존 column에 hashing으로 str 값이 입력된 경우 category(int)로 변경하면 데이터를 줄일 수 있음 자주 등장하지 않는 category를 그대로 사용한다면 overfitting이 발생! 자주 등장하지 않는 cat..
2022.07.11
no image
[QWIKLABS] GCP에서 Docker 사용하기
Docker 간단하게 실행해보기 Cloud Shell 기본 명령어 https://cloud.google.com/sdk/gcloud gcloud auth list -> active 계정 이름 확인 gcloud config list project -> 프로젝트 ID 확인 Docker 파일 실행해보기 hello-world라는 container 실행 docker run hello-world 코드 실행 과정 도커 daemon이 hello-world라는 image를 로컬에서 확인 image가 없다면 Docker Hub라는 public registry에서 다운로드하여 사용 현재 사용 가능한 도커 images 확인 사용 가능하려면 도커 이미지가 built 돼야 함 docker images 현재 실행 중인 contain..
2022.07.11
no image
[파이썬] 백준 1932번 정수 삼각형
1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 시간 제한 2초 메모리 제한 128MB 문제 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 위 그림은 크기가 5인 정수 삼각형의 한 모습이다. 맨 위층 7부터 시작해서 아래에 있는 수 중 하나를 선택하여 아래층으로 내려올 때, 이제까지 선택된 수의 합이 최대가 되는 경로를 구하는 프로그램을 작성하라. 아래층에 있는 수는 현재 층에서 선택된 수의 대각선 왼쪽 또는 대각선 오른쪽에 있는 것 중에서만 선택할 수 있다. 삼각형의 크기는 1 이상 500 이하이다. 삼각형을 이루고 있는 각 수는 모두 정수이며, 범위는 0 이상 9999 ..
2022.07.03
no image
[파이썬] 백준 1149번 RGB거리
1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 시간 제한 0.5초 메모리 제한 128MB 문제 RGB거리에는 집이 N개 있다. 거리는 선분으로 나타낼 수 있고, 1번 집부터 N번 집이 순서대로 있다. 집은 빨강, 초록, 파랑 중 하나의 색으로 칠해야 한다. 각각의 집을 빨강, 초록, 파랑으로 칠하는 비용이 주어졌을 때, 아래 규칙을 만족하면서 모든 집을 칠하는 비용의 최솟값을 구해보자. 1번 집의 색은 2번 집의 색과 같지 않아야 한다. N번 집의 색은 N-1번 집의 색과 같지 않아야 ..
2022.07.03
no image
[논문 정리] Deep Neural Networks for YouTube Recommendations
Abstract 대규모인 유튜브 환경에서 추천을 진행하기 위해 2 - stage information retrieval을 이용하여 추천 시스템을 구성하였다. 이때, 각 과정에 딥러닝을 활용했으며 2 - stage는 각각 다음과 같다. candidates generation 과정 ranking 과정 Introduction 유튜브에선 많은 유저(10억 단위)들에게 실시간으로 업데이트 되는 영상을 추천해야 하며, 이는 다음의 3가지 측면에서 challenging하다. Scale : 기존 추천 방식(Matrix Factorization)은 유저 - 콘텐츠가 매우 많은 유튜브에서 사용할 수 없다. 유튜브 추천 시스템은 실제 서빙 환경인 분산 처리 환경에서 잘 작동해야 한다. Freshness : 새로 업로드된 영..
2022.06.24
no image
[파이썬] 백준 1912번 연속합
1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 시간 제한 1초 메모리 제한 128MB 문제 n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야 한다. 예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1 이라는 수열이 주어졌다고 하자. 여기서 정답은 12+21인 33이 정답이 된다. 입력 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수..
2022.06.23
no image
[파이썬] 백준 9461번 파도반 수열
9461번: 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 www.acmicpc.net 시간 제한 1초 메모리 제한 128MB 문제 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 길이를 k라 했을 때, 그 변에 길이가 k인 정삼각형을 추가한다. 파도반 수열 P(N)은 나선에 있는 정삼각형의 변의 길이이다. P(1)부터 P(10)까지 첫 10개 숫자는 1, 1, 1, 2, 2, 3, 4, 5, 7, 9이다. N이 주..
2022.06.23
no image
[Python] pipreqes으로 사용한 패키지만 requirements.txt에 포함하기
pip freeze의 문제점 패키지 관리를 위해 일반적으로 pip freeze > requirements.txt를 사용한다. pip freeze는 편리하지만, 의존 패키지까지 모두 포함 시켜 가독성을 떨어트린다는 문제가 있다. 실제로 aiohttp, beautifulsoup4, GitPython, requests만 사용한 경우에도, requirements.txt는 다음과 같이 굉장히 지저분하게 생성된다. pip freeze > requirements.txt >> aiohttp==3.8.4 aiosignal==1.3.1 async-timeout==4.0.2 asyncio==3.4.3 attrs==22.2.0 autopep8==2.0.2 beautifulsoup4==4.11.2 certifi==2022.12..
2022.06.21
no image
Anaconda 환경에서 pip 사용하기
Anacoda에서 pip? Anaconda 환경에선 기본적으로 conda install을 이용해서 패키지를 설치한다. 하지만 원하는 버전의 패키지가 conda에 없는 경우가 있으면 pip install을 사용해야 한다. pip install로 패키지를 설치하면 base 환경에 설치돼 가상 환경 분리가 안된다는 단점이 있다. 이럴 때 가상 환경에 먼저 pip를 설치하고, pip install을 적용하면 사용 중인 환경에만 패키지가 설치된다. 현재 가상 환경에 pip 설치 하기 conda install pip 가상 환경을 만들 때 부터 pip를 설치하려면 다음과 같은 명령어를 사용하면 된다 conda create -n 이름 pip 예시 임의로 test라는 가상 환경을 만든 뒤 확인해보자. (base) ~/a..
2022.06.21
no image
Hydra 사용법 정리
Hydra? configuration을 모듈로 세분화하여 관리 가능 미리 정의한 configration을 hydra 환경에서 사용 실행된 hydra 환경에서의 실행 기록을 outputs/날짜/시간/.hydra/config.yaml 에 저장 어떤 configuration을 사용했는 지 모두 기록해 실험 관리에 도움 ├── outputs │ └── 2022-06-19 │ └── 19-23-30 │ ├── .hydra │ └── config.yaml | └── ... MNIST 분류 문제를 해결하는 경우 다음과 같이 config 구성 가능 Configuration 구성 모듈별 폴더를 생성해 configuration 구성 model에서 처럼 다양하게 구성해뒀다가 실험 환경에 맞게 변경 가능 ├── configs..
2022.06.19
no image
[파이썬] 백준 1904번 01타일
1904번: 01타일 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이 www.acmicpc.net 시간 제한 0.75초 메모리 제한 256MB 문제 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이의 공부를 방해하기 위해 0이 쓰여진 낱장의 타일들을 붙여서 한 쌍으로 이루어진 00 타일들을 만들었다. 결국 현재 1 하나만으로 이루어진 타일 또는 0타일을 두 개 붙인 한 쌍의 00타일들만이 남게 되었다. 그러므로 지원이는 타일..
2022.06.17