본문 바로가기

전체 글

(40)
[백준/python] 2225: 합분해 - 문제 - 제출 주어지는 정수 N & K 가 모두 1 이상 200 이하의 수임을 감안하여 저장공간 (cache)를 먼저 정의한다. 1. N == 1인 경우 0 또는 1을 K개 가지고 1을 만들어야 하므로, 1 하나와 K-1개의 경우만 존재한다. 이때, 문제에서 덧셈의 순서가 바뀐 경우는 다른 경우로 센다고 했으므로 모든 K에 대해 K개의 경우가 존재한다. 2. K == 1인 경우 [0,N] 사이의 정수 1개를 가지고 N을 나타내야 하므로 모든 N에 대하여 1 경우만 존재한다. 3. 그 외의 모든 경우 다른 경우는 어느 정도의 (N, K) 조합에 대해 표를 구성해보면 쉽게 점화식을 얻을 수 있다. 찾아낸 점화식 => cache[i][j] = cache[i-1][j] + cache[i][j-1] ( N &..
알고리즘(1) - 그리디 - 최적의 해에 가까운 값을 구하는 방법이나, 최적의 해라고 확신할 수는 없음 (근사치 추정) => 한계 - 매 순간 최적이라고 생각되는 경우 한 가지를 선택하는 방법 - 동적 계획법의 computation complexity를 극복하기 위해 나온 기법 1. 동전 문제 - 최종 지불 가격 = 4720 - 1원, 50원, 100원, 500원 동전을 가지고 최소한의 동전 개수로 지불하는 방법 => 가장 큰 동전으로 먼저 지불하고, 남은 금액이 해당 동전보다 적은 경우 다음 동전으로 지불하는 방식 => 그러면 일단 동전의 크기가 큰 순서대로 sorting def paiedCoin(coins, pay): result = list() count = 0 coins.sort(reverse = True) # 큰 순서대..
[백준/python] 11399 : ATM - 문제 - 제출 import sys N = input() Ps = list(map(int, sys.stdin.readline().split())) Ps.sort() waiting = 0 total_time = 0 for P in Ps: waiting += P total_time += waiting print(total_time) 이제 다시 알고리즘 공부 시작! 방학 동안 열심히 해야겠다 :)
Github pages - Jekyll 테마 적용하기 앞선 포스팅에 이어 테마를 적용하고 본격적인 내용 작성을 시작하겠습니다. 1. Jekyll Theme 선택하기 우선 간단하게 테마를 하나 다운로드하여서 적용해봅니다 뭘 골라야 하나 하고 고민하다가, 그냥 가장 간단하고 이름부터 저의 목적에 맞게 CV가 들어간 테마를 하나 골랐습니다 https://rubygems.org/gems/modern-resume-theme modern-resume-theme | RubyGems.org | your community gem host A modern simple static resume template and theme. Powered by Jekyll and GitHub pages. rubygems.org 해당 테마 github으로 들어가서 zip 파일 다운로드 버튼..
Github page (github.io) 시작하기 항상 cv를 제대로 만들어야 한다는 생각은 가지고 있었는데 시작을 하기까지 이렇게 오래 걸릴 줄이야.. 대학원 1학기를 마치고 나서야 진짜 한다! 하는 마음 가짐을 가지게 되어서 시작하게 되었습니다ㅎㅎ 또 언젠가 다시 만들 수도 있는 날을 위해서 중요한 점들을 정리해 놓으려고 합니다 1. 계정이 없다면 계정 만들기! 저는 계정이 원래 있었기 때문에 이 과정은 생략하도록 하겠습니다 :D 2. New Repository 만들기 주소를 설정할 때, Repository 이름을 Github username과 동일하게 설정해줘야 안전하다고 하네요..! (제 공식(?) 이름은 youwon-shin인데 깃헙은 yuwon-shin으로 이미 설정했어서,, 겁이 많은 저는 일단 그대로 두기로 합니다,,ㅎ) {username..
Windows 계정과 Users\ 아래 파일 이름 영어로 바꾸기 항상 시스템 설정을 하거나, 파일을 설치할 때 이 파일 이름이 한국어로 설정되어 있어서 실패한 경우가 많았다. 예전에도 구글링을 해서 여러 팁을 참고하여 고쳐봤던 것 같은데, 내가 제대로 찾지 못했던 탓인지 제대로 된 설명이 없었던 탓인지 항상 실패하다가 포기ㅠㅠ 이번에도 설치할 것이 있어서 하다 보니 에러가 발생했는데, 혹시나 이런 문제로 인해서 발생한 건 아닌가 싶어 다시 도전해봤다!! 구글링 결과, 드디어 계정 전환을 성공시킬 수 있게 해 준,, 잘 정리해 주신 블로그가 있어서 기록해 두려고 글을 쓰게 되었다 :D [Windows] 윈도우 10 계정 명, Users 폴더 한글에서 영어로 변경 안녕하세요. 윈도우에서 계정을 생성하게 되면 홈 디렉토리 (C:\Users\계정명)가 한글로 생성되게 됩니다..
[MongoDB - Mac OS] Connection Error 해결하기 (feat. NoSQLBooster) 분명히 저번에 설치에 성공하고 과제까지 완료했는데 오늘 갑자기 연결이 안 되는 것..! NoSQLBooster를 켰더니 온통 빨간 글씨ㅠㅠ 거의 한 시간 넘게 구글링하면서 여러 가지 solution들을 찾아서 적용해봤는데도 안 되는 것이다!! 그러다가 발견한 방법이 있어서 메모해 두려고 한다. [Mac OS 게이트 키퍼 해제] 일단 항상 mongodb 연결 시도를 할 때, Mac OS 게이트 키퍼 때문에 다운로드나 파일 열기가 막히니 꼭 풀어줘야 한다. 설정> 보안 및 개인 정보 보호 > 자물쇠를 열고 허용 OR $ sudo spctl --master-diable 를 terminal에 치면 게이트 키퍼를 잠시 꺼준다. (단, 이 방법을 사용한 사람들은, 모든 과정을 마치고 다시 게이트 키퍼를 활성화 시켜..
[백준/python] 1929 : 소수 구하기 - 문제 - 제출 여전히 시간 초과와의 싸움이다.. 코드의 효율성이 아직 부족해서 그렇겠지 ㅠㅠ 구글링을 해보니 for문의 range 설정을 i가 아닌 int(i**0.5)로 하게 되면 시간 초과를 벗어날 수 있다고 하여 변경했다. 그랬더니 성공..! 이렇게 계속 배워 나가는 거지. +) 함수로 정의해서 사용하는 것에 습관을 들이자!