Archive: 2018

0

Singleton Pattern(싱글톤 패턴)

들어가기이번 포스팅에서는 디자인 패턴에서 유명한 싱글톤 패턴(Singleton Pattern) 에 대해서 알아보겠습니다. 본론싱글톤 패턴(Singleton Pattern) 은 특정 클래스에 대해 객체 인스턴스가 하나만 만들어질 수 있도록 해주는 패턴입니다. 간단하게 말하면, 싱글톤 패턴(Singleton Pattern) 은 어떤 상황에서든 해당 객체의 인

0

백준[9471] - 피사노 주기

문제백준 9471 문제 보기 접근 방법피보나치 수열을 특정 값으로 나눈 나머지가 주기를 이룬다는 피사노 주기를 구현하는 문제이다. 배열을 사용하면 간단하게 풀수 있지만 데이터의 범위가 너무 많아 배열은 사용할 수 없다.새롭게 생각한 방법은 피보나치 수열을 계속 구하되 n-2와 n-1이 수열의 시작인 0과 1일 경우 주기가 시작되는 위치라는 점을 활용했다.

0

Strategy Pattern(스트래티지 패턴)

들어가기이번 포스팅에서는 흔히 스트래티지 패턴(Strategy Pattern)으로 불리는 전략 패턴 에 대해서 알아보겠습니다. 본론먼저 본격적인 설명에 앞서 하나의 예시를 보겠습니다. 우리는 앞으로 두가지 타입의 로봇을 만들 예정입니다. 걸어다니고 미사일로 공격하는 태권V와 날아다니며 주먹으로 공격하는 아톰이라는 로봇입니다. 가장 쉽게 생각할 수 있는 방법

0

백준[10826] - 피보나치 수4

문제백준 10826 문제 보기 접근 방법일반적인 피보나치 수열의 문제를 풀듯이 dp를 활용해 문제를 풀수는 있다. 하지만 이는 약 1500번째 언저리 피보나치 수까지만 유효하다. 왜냐하면 1500 번째 근처 수열에서 long long의 범위를 넘어간다.문제에서의 N은 10000이고 해당 수까지의 수열을 구해야 한다. 따라서 문자열을 활용해 직접 덧셈을 진행

0

백준[2749] - 피보나치 수3

문제백준 2749 문제 보기 접근 방법피보나치 수열을 푸는 방식은 여러가지가 존재한다. 재귀를 활용하여 O(N^2)으로 푸는 방법, dp를 활용해 O(N)으로 푸는 방법이 많이 알려진 방식이다.하지만 이번 문제는 입력이 10^18이라는 거대한 숫자이므로 저 두 가지 방법 모두 해답은 아니다.여러가지 방법을 찾다가 피보나치 수열을 특정 수로 나눌때 주기가 존

0

객체지향 설계 5대 원칙 - SOLID 원칙

들어가기SOLID(SRP, OCP, LSP, ISP, DIP)의 개념을 정리하고 이해해보겠습니다. 본론단일 책임 원칙SOLID의 첫 번째 원칙으로 단일 책임 원칙(Single Responsibiliy Principle)이 있습니다. 이는 말 그대로 객체는 단 하나의 책임만 가져야 한다는 의미입니다. 그렇다면 여기서 의미하는 책임이란 무엇일까요? 이는 객체가