전체 글
-
구글 킥스타트(Kickstart) 2021 Round B 문제풀이알고리즘/킥스타트 2021. 6. 29. 00:32
킥스타트 : https://codingcompetitions.withgoogle.com/kickstart Kick Start - Google’s Coding Competitions Hone your coding skills with algorithmic puzzles meant for students and those new to coding competitions. Participate in one round or join them all. codingcompetitions.withgoogle.com 한동안 구글 킥스타트를 까먹고 있다가 오랜만에 풀어봤다. 확실히 구글배 알고리즘문제들은 알고리즘 지식을 묻기보다는 알고리즘적 사고력을 묻는듯한 문제들로 이루어져있다. 그래서 확실히 더 어렵게 느껴지긴 하다..
-
논문 리뷰 SDPS-Net : 이미지로 부터 Normal map 얻기Study/ML 2021. 6. 28. 23:04
논문 : https://arxiv.org/pdf/1903.07366.pdf Git : https://github.com/guanyingc/SDPS-Net guanyingc/SDPS-Net Learning Based Uncalibrated Photometric Stereo for Non-Lambertian Surface (CVPR 2019) - guanyingc/SDPS-Net github.com Normal map이란 3차원 컴퓨터 그래픽스에서 튀어나온 곳과 움푹 틀어간 곳의 빛을 왜곡시키는 기법으로, 범프 매핑의 구현체이다. 즉 Normal map에 대해 알아야지 특정 위치에서 광원의 반사 각도를 알 것이고 어떻게 보여주는지 결정하는게 큰 역할을 한다. 그래서 이미지로부터 Normal map을 아는것은..
-
나만의 온라인저지 사이트 만들기 - 2개발일지/개발일지 2021. 6. 28. 21:29
이번 포스팅에서는 Online Judge의 프론트엔드 수정하는 방법에 대해 알아보겠습니다. 일단 프론트엔드 레포를 clone 해줄 필요가 있습니다. 아래 링크로 들어가 레포 주소를 복사한 다음 개인 디렉토리에 git clone 해줍니다. https://github.com/QingdaoU/OnlineJudgeFE QingdaoU/OnlineJudgeFE A multiple pages app built for OnlineJudge. Contribute to QingdaoU/OnlineJudgeFE development by creating an account on GitHub. github.com 터미널에서 레포 디렉토리로 이동한 뒤 아래 커맨드들을 입력해서 프론트엔드를 실행해봅시다. $ npm instal..
-
백준 2357번 : 최솟값과 최댓값알고리즘/BOJ 2021. 6. 28. 16:37
문제 : https://www.acmicpc.net/problem/2357 2357번: 최솟값과 최댓값 N(1 ≤ N ≤ 100,000)개의 정수들이 있을 때, a번째 정수부터 b번째 정수까지 중에서 제일 작은 정수, 또는 제일 큰 정수를 찾는 것은 어려운 일이 아니다. 하지만 이와 같은 a, b의 쌍이 M(1 ≤ M ≤ 100 www.acmicpc.net s Eng 1.s dollar(s); [$] (포르투갈) escudo(s); peso(s); sol[soles]; yuan(s) 2.s. second(s) 초; section; see; series; set; sign; silver; singular; small; society; solidus ((L = shilling(s))); son; south;..
-
백준 16562번: 친구비알고리즘/BOJ 2021. 6. 27. 20:48
문제 : https://www.acmicpc.net/problem/16562 16562번: 친구비 첫 줄에 학생 수 N (1 ≤ N ≤ 10,000)과 친구관계 수 M (0 ≤ M ≤ 10,000), 가지고 있는 돈 k (1 ≤ k ≤ 10,000,000)가 주어진다. 두번째 줄에 N개의 각각의 학생이 원하는 친구비 Ai가 주어진다. ( www.acmicpc.net 친구 관계를 유지하기 위해 친구비를 내야하는데, 그 최소의 친구비를 구해야하는 슬픈 문제다. 문제를 읽어보면 바로 알겠지만 집합문제다. 집합문제는 80% 이상 union-find 알고리즘으로 풀리는데 이 문제도 해당된다. 그런데 요즘 set 자료형을 안써서 오랜만에 기억좀 환기할겸 set 자료형을 이용한 풀이로 풀어봤다. 1번 학생부터 n번 ..
-
백준 11003번 : 최솟값 찾기알고리즘/BOJ 2021. 6. 26. 14:21
문제 : https://www.acmicpc.net/problem/11003 11003번: 최솟값 찾기 N개의 수 A1, A2, ..., AN과 L이 주어진다. Di = Ai-L+1 ~ Ai 중의 최솟값이라고 할 때, D에 저장된 수를 출력하는 프로그램을 작성하시오. 이때, i ≤ 0 인 Ai는 무시하고 D를 구해야 한다. www.acmicpc.net L 길이 만큼 각 subarray에서 최솟값을 찾는 문제다. 당연한 소리지만 만약 모든경우를 탐색하는 즉 O(NL) 방법으로 이 문제를 풀면 시간초과가 뜰것이다. 그래서 매번 최소값을 찾기위한 연산이 필요없는 자료구조를 구현해야한다. 처음에는 항상 정렬된 상태를 가지는 우선순위 큐를 생각했다. 그런데 평범한 우선순위큐를 사용했을때 생기는 문제는, 만약 su..
-
백준 5430번: AC (C++)알고리즘/BOJ 2021. 6. 26. 13:53
문제 : https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 문제는 굉장히 쉽다. 굉장히 쉬운 문제지만 굉장히 귀찮고 짜증나는 문제다. 이 문제의 핵심은 첫번째는 reverse order에서 소비되는 시간을 줄이기 위해 디큐(데크)를 사용하는것과 [1,2,3] 처럼 괴상하게 input으로 들어오는값을 잘 처리하는 것이다. 처음에는 input의 각 숫자를 stoi 함수를 이용해서 처리하니까 시간초과가 나서 char타입을 처리해서 int 타입으로 바꿔주는 방법을 사용했다. #include #include #..
-
AWS ec2 프리티어 t2.micro 인스턴스 다운문제 해결개발일지/개발일지 2021. 6. 25. 22:56
작은 개인 프로젝트 배포를 위해 AWS EC2중 무료인 t2.micro를 사용하시는 분들이 많을 것입니다. 그런데 t2.micro를 사용하다보면 인스턴스가 다운돼서 분명 인스턴스 상태는 running 이지만 ssh 접속이 안되고 배포가 정상적으로 이루어지지 않아 강제종료후 재시작한 경험이 많을 것입니다. 위와 같은 문제의 이유는 여러가지 있겠지만 아마 80% 이상은 메인메모리 부족때문에 생긴것입니다. t2.micro의 메모리는 1GB 밖에 되지 않아 웹배포라도 하나 돌리면 거의 메모리가 꽉차게 되어 다운되는 것입니다. 이 문제를 해결하기 위해 메모리가 더 큰 인스턴스를 사용하는 방법도 있겠지만 이러면 서버운영비가 나가게 되는데 작은 프로젝트 돌리기에는 너~무 아깝다. 그래서 다른 해결책을 소개해드리고자 ..