[백준/실버 IV] 11047번 동전 0
·
알고리즘
주어진 문제는 그리디 알고리즘을 사용하여 해결할 수 있습니다. 문제는 주어진 여러 종류의 동전을 사용하여 특정 금액 K를 최소 개수의 동전으로 만드는 것입니다. 동전의 가치는 오름차순으로 주어지며, 각 동전의 가치는 이전 동전 가치의 배수이므로 그리디 알고리즘을 적용하는 것이 최적의 해를 보장합니다.이 문제를 해결하는 방법은 다음과 같습니다:입력 파싱: 먼저 동전의 종류 N과 목표 금액 K를 입력으로 받습니다.동전 배열 역순으로 정렬: 가장 큰 가치의 동전부터 시작하여 가능한 한 많이 사용합니다.반복적 선택: 현재 남은 금액을 현재 동전 가치로 나누어 사용할 수 있는 최대 개수의 동전을 사용합니다. 이후 남은 금액에 대해 동일한 과정을 반복합니다.종료 조건: 남은 금액이 0이 되면 종료합니다.다음은 이 ..
헤드 퍼스트 디자인 패턴 | 06장 호출 캡슐화하기 (커맨드 패턴)
·
TIL
커맨드 패턴(Command Pattern)요청 내역을 객체로 캡슐화해서 객체를 서로 다른 요청 내역에 따라 매개변수화할 수 있습니다. 이러면 요청을 큐에 저장하거나 로그로 기록하거나 작업 취소 기능을 사용할 수 있습니다.구성 요소커맨드 인터페이스 (Command Interface): 모든 커맨드 객체가 구현해야 하는 인터페이스로, 일반적으로 execute() 메서드를 포함합니다.구체적인 커맨드 클래스 (Concrete Command Class): 특정 작업을 수행하는 커맨드 클래스입니다. 이 클래스는 작업을 수행할 리시버 객체를 참조하고 있으며, execute() 메서드에서 리시버 객체의 메서드를 호출합니다.리시버 (Receiver): 실제로 작업을 수행하는 클래스입니다. 커맨드 객체는 이 리시버 객체의..
헤드 퍼스트 디자인 패턴 | 05장 하나뿐인 특별한 객체 만들기 (싱글턴 패턴)
·
TIL
05장 싱글턴 패턴 | 하나뿐인 특별한 객체 만들기public class Singleton { private static Singleton uniqueInstance; // 기타 인스턴스 변수 private Singleton() {} public static Singleton getInstance { if (uniqueInstance == null) { uniqueInstance = new Singleton(); } return uniqueInstance; } // 기타 메소드} 이렇게 인스턴스가 필요할때 해당 인스턴스를 생성하는 것을 게으른 인스턴스 생성(lazy instantiation)라고 부른다.싱글턴 패턴(..
Fork한 GitHub 소스를 최신화하는 방법
·
BackEnd
GitHub에서 프로젝트를 fork하면 원본 저장소를 복제하여 나의 계정에 저장소를 만들 수 있다. 그러나 원본 저장소가 업데이트될 때, 포크된 저장소는 자동으로 최신화되지 않는다. 이제부터 포크한 저장소를 최신 상태로 유지하는 방법을 알아보자.먼저 fork 한 저장소를 로컬로 가져온다.git clone  원본 저장소 원격 설정fork한 저장소에 원본 저장소를 원격(remote)으로 추가한다. 이를 통해 원본 저장소의 변경 사항들을 가져올 수 있다.git remote add upstream # 일반적으로 `upstream`이라는 이름을 사용하지만, 다른 이름을 사용할 수도 있다.예를 들어, 원본 저장소 URL이 https://github.com/username/repo.git인 경우 다음과 같이 입력한다..
개발 브랜치에 메인 브랜치 병합하기
·
BackEnd
feature/imt-hist 브랜치에서 작업을 하던 도중 master 브랜치에 기능이 추가 되었고, 해당 기능을 feature/imt-hist 브랜치에 가져와야한다. 어떻게 해야할까?명령어로 병합하기(feature/imt-hist) git pull origin master # merge 로 병합됨(feature/imt-hist) git pull origin master --rebase # rebase 로 병합됨인텔리J로 병합하기위와 같이 세팅하고 Pull을 선택하면 git pull origin master 명령어가 실행되고, Modify options 에서 rebase 를 선택하면 git pull origin master --rebase 가 실행된다.인텔리J git 기능별 명령어인텔리J명령어Rebase..
윷놀이에서 개가 나올 확률은 얼마나 될까?
·
TIL
윷놀이에서 개가 나올 확률은 얼마나 될까?우선 전체 경우의 수를 계산 해보면 윳은 총 4개가 있고 앞뒤가 있으니 $2 \times 2 \times 2 \times 2 = 16$ 이다.앞을 ●, 뒤를 ○라고 했을때 여기서 개가 나올 경우의 수는 [○○●●, ○●○●, ○●●○, ●○●○, ●●○○] 로 총 6가지다.그렇다면 확률을 계산해보면 $\frac{6}{16} = 0.375$ 이므로 $37.5\%$ 이다. 확률을 구하는 공식이 있지 않을까?$${}_n\mathrm{C}_k = \binom{n}{k} = \frac{n!}{k!(n-k)!}$$Combination(조합)을 구하는 공식 $${}_4\mathrm{C}_1 = \binom{4}{1} = \frac{4!}{1!(4-1)!} = \frac{4!}..
소프트웨어 설계를 위한 추상적, 구조적 사고 - 이선협
·
TIL
우리는 어떤 시니어가 되어야 하는가?시니어 개발자는 풍부한 경험과 직관이 있지만, 경험과 직관에 의존하면 분명한 한계가 있다. 어떠한 문제를 발견하더라도 유연하게 해결할 수 있는 방법론을 익히는 것이 중요하다.추상적 사고개발자가 하는 거의 모든 일은 추상적이고 구조적인 생각을 통해 나온다.추상여러가지 사물이나 개념에서 공통 되는 특성이나 속성 따위를 추출하여 파악하는 작용같은 지구를 나타낸 것이지만 사물을 어떻게 바라보냐에 따라서 어떤 게 추출되고 어떻게 표현되는 것인지 달라진다. 이를 추상화라고 할 수 있다. 결국 추상의 핵심은 사물을 단순화하고 재해석 하는 것이라고 할 수 있다. 그렇다면 어떻게 재해석 할 수 있을까?요소 환원주의 (르네 데카르트)무언가 높은 단계의 개념을 더 낮은 단계의 요소로 분해..
드디어 서울을 가게 되었다.
·
서울살이
고민하고 또 고민하다가 지방에서 웹에이전시 회사를 퇴사 하고 서울을 가게 되었다. 2년 전에 유튜브에서 영한님에게 질문을 한 적이 있다 "서울을 꼭 가야할까요?" 그때 영한님이 서울을 와야 배울 수 있는게 많다고 서울로 오라고 하셨는데, 그때도 난 가야겠다! 라는 생각만 하고 서울을 가지 못 했다. "내가 가서 잘 할 수 있을까?" 하는 고민과 집을 구하고 비싼 월세를 내야하고 처음 가는 서울에서 회사를 구해야 한다는 생각에 용기가 나지 않았다. 그러다 최근에 유지보수성 프로젝트만 하다가 "이런 개발을 하는게 내가 원하는게 맞는건가? 5년 뒤 10년 뒤 나는 후회 하지 않을까?" 라는 생각을 하게 되었다. 개발자가 되기전에는 유튜브, 생활코딩님, 노마드코더님 강의를 듣고 개발자가 되어서는 유데미, 코드잇..
치령
'분류 전체보기' 카테고리의 글 목록 (2 Page)