본문 바로가기
728x90

분류 전체보기143

BOJ - 1926번, 그림 문제 DFS를 이용한 풀이 이번 문제는 DFS 태그가 걸려있는 문제를 찾다가, 풀게된 1926번 문제 정리입니다. 문제 자체는 전형적인 DFS로 해결할 수 있는 간단한 문제였는데, 잘못 생각한 부분들이 있어 오답 처리를 받게된 부분을 정리해보려고 합니다. 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net 문제 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로로 연결된 것은 연결이 된 것이고 대각선으로.. 2022. 12. 29.
BOJ - 14002번, 가장 긴 증가하는 부분 수열 4 문제, LIS 예제와 DP 풀이 이번에는 거의 1년을 묵혀놨다가 다시 한번 14002번 문제를 푼 과정을 정리해보려 합니다. 문제는 LIS(Longgest Increasing Subsequence) 문제 즉, 가장 긴 증가하는 부분 수열 문제 중 하나로 dp를 사용해서 쉽게 풀이할 수 있었습니다. 사실 지금에서야 쉬워진거지, 작년에는 생각나는 방법을 총 동원해도 계속 틀려서 포기했었습니다.. 14002번: 가장 긴 증가하는 부분 수열 4 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 문제 수열 A가 주어졌.. 2022. 12. 28.
BOJ - 2294번 동전 2 문제풀이 (DP, SET 사용) 문제 소개 n가지 종류의 동전을 갖고, k원의 금액을 최소 개수의 동전으로 만드는 어떻게 보면, 기본적인 dynamic programming 문제입니다. 하지만, 풀이하면서 몇 가지 실수가 있었어서 풀이 과정을 간단하게 정리해보려고 합니다. 2294번: 동전 2 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 가치가 같은 동전이 여러 번 주 www.acmicpc.net 문제 n가지 종류의 동전이 있다. 이 동전들을 적당히 사용해서, 그 가치의 합이 k원이 되도록 하고 싶다. 그러면서 동전의 개수가 최소가 되도록 하려고 한다. 각각의 동전은 몇 개라도 사용할 수.. 2022. 12. 28.
[NCP] 네이버 클라우드 플렛폼에서 서버 만들어보기 이번에 새로 시작하는 프로젝트에서는 로컬 DB가 아니라 웹 서버를 이용한 DB를 사용해 보고자(여러모로 편리할 것 같아서) AWS나 NCP 같은 클라우드 서비스를 찾아보다가.. NCP에서 micro 서버를 결제 수단 등록일 기준으로 1년간 무료 지원해준다고 해서 NCP에 입문하게 되었습니다. 우선 NCP 사이트에 들어갑니다. (당연히 로그인이 필요합니다.) NAVER CLOUD PLATFORM cloud computing services for corporations, IaaS, PaaS, SaaS, with Global region and Security Technology Certification www.ncloud.com 여기서 Services -> Server에 들어가 애플리케이션 서버를 생성할 .. 2022. 12. 28.
IoC, DI 그리고 컨테이너 개념 정리 제어의 역전 IoC(Inversion of Control) 제어의 역전은 스프링에만 국한된 단어가 아니라 일반적인 개발자가 모든 것을 제어(control)하는 흐름에서 벗어나 내가 호출하는 것이 아니라 프레임워크 같은 것이 대신 호출해 주는 구조를 의미합니다. (한 마디로 제어에 대한 권한이 뒤바뀌는 것을 의미한다고) 기존의 프로그램은 클라이언트 구현 객체가 스스로 필요한 서버 구현 객체를 생성하고, 연결하고 실행하는 구조를 따랐습니다. 한 마디로 구현 객체가 프로그램의 제어 흐름을 스스로 조종하는 구조이며 개발자의 입장에서는 자연스러운 흐름이었죠 그런데, 지난번 DI에 대한 정리글에서 설명한 AppConfig가 의존 관계를 주입하는 등의 역할을 가져감으로써, 프로그램에 대한 제어의 흐름을 가져간 바가 .. 2022. 12. 28.
Dependency Injection: 의존관계(의존성) 주입 개념 정리 DI의 정의 DI는 Dependency Injection의 줄임말로, 우리 말로는 의존관계 주입 또는 의존성 주입이라고 표현합니다. 의존이라고 하는 단어 자체가 관계 속에서 의존하는 느낌이기 때문에, 저는 의존관계 주입이라는 용어가 더 적합하다고 이해했습니다. 그렇다면, 여기서 말하는 의존관계가 무슨 말일 까요? "A가 B에 의존한다."라고 했을 때, 이것이 의미하는 바를 다음과 같은 설명을 통해 이해할 수 있었습니다. 의존대상 B가 변하면, 그것이 A에 영향을 미친다. - 토비의 스프링 3.1 즉, B의 기능이 추가 또는 변경될 때, A에 영향을 미치는 경우 "A가 B에 의존한다."라고 표현할 수 있는 것입니다. 그렇다면, Dependency Injection은 무엇일까요? 말 그대로 의존 관계를 주입.. 2022. 12. 27.
728x90