본문 바로가기
728x90

전체 글172

백준 14500번 테트로미노 1. 문제 설명 문제 링크 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변끼리 연결되어 있어야 한다. 즉, 꼭짓점과 꼭짓점만 맞닿아 있으면 안 된다. 정사각형 4개를 이어 붙인 폴리오미노는 테트로미노라고 하며, 다음과 같은 5가지가 있다. 아름이는 크기가 N×M인 종이 위에 테트로미노 하나를 놓으려고 한다. 종이는 1×1 크기의 칸으로 나누어져 있으며, 각각의 칸에는 정수가 하나 쓰여 있다. 테트로미노 하나를 적절히 놓아서 테트로미노가 놓인 칸에 쓰여 있는 수들의 합을 최대로 하는 프로그램을 작성하시오. 테트로미노는 반드시 한 정사각형이 정확히 하나의 칸을 포함하.. 2023. 1. 21.
전략 패턴 전략 패턴 전략 패턴(strategy pattern)은 정책 패턴(policy pattern)이라고도 하며, 객체의 행위를 바꾸고 싶은 경우 직접 수정하지 않는다. 전략 이라고 부르는 '캡슐화한 알고리즘'을 컨텍스트안에서 바꿔 주면서 상호 교체가 가능하게 만드는 패턴이다. 우리가 어떤 것을 살 때 네이버페이, 카카오페이 등 다양한 방법으로 결제하듯이 어떤 아이템을 살 때 LUNACard로 사는 것과 KAKAOCard로 사는 것을 구현한 예제이다. 결제 방식의 '전략'만 바꿔서 두 가지 방식으로 결제하는 것을 구현한 것이다. import java.io.DecimalFormat; import java.util.ArrayList; import java.util.List; interface PaymentStra.. 2023. 1. 21.
회원 관리 개발 보호되어 있는 글 입니다. 2023. 1. 20.
팩토리 패턴 팩토리 패턴 팩토리 패턴(factory pattern)은 객체를 사용하는 코드에서 객체 생성 부분을 떼어내 추상화한 패턴이자 상속 관계에 있는 두 클래스에서 상위 클래스가 중요한 뼈대를 결정, 하위클래스에서 객체 생성에 관한 구체적인 내용을 결정 하는 패턴을 말한다. 상위 클래스 와 하위 클래스는 분리 되기 때문에 **느슨한 결합**을 가지며 상위클래스에서는 인스턴스 생성 방식에 대해 전혀 알 필요가 없어, 더 많은 유연성을 가진다. 또한, 객체 생성 로직이 따로 떼어져 있기 때문에 코드를 리팩토링 하더라도 한 곳만 고 칠수 있게 되니 유지 보수성이 증가한다. ex) 라떼 레시피, 아메리카노 레시피, 우유 레시피 라는 구체적인 내용이 들어 있는 하위 클래스가 컨베이어 벨트를 통해 전달되고, 상위 클래스인.. 2023. 1. 20.
MVC와 템플릿 엔진 와 API 보호되어 있는 글 입니다. 2023. 1. 19.
백준 2636번 치즈 1. 문제 설명 문제 링크 아래 과 같이 정사각형 칸들로 이루어진 사각형 모양의 판이 있고, 그 위에 얇은 치즈(회색으로 표시된 부분)가 놓여 있다. 판의 가장자리(에서 네모 칸에 X친 부분)에는 치즈가 놓여 있지 않으며 치즈에는 하나 이상의 구멍이 있을 수 있다. 이 치즈를 공기 중에 놓으면 녹게 되는데 공기와 접촉된 칸은 한 시간이 지나면 녹아 없어진다. 치즈의 구멍 속에는 공기가 없지만 구멍을 둘러싼 치즈가 녹아서 구멍이 열리면 구멍 속으로 공기가 들어가게 된다. 의 경우, 치즈의 구멍을 둘러싼 치즈는 녹지 않고 ‘c’로 표시된 부분만 한 시간 후에 녹아 없어져서 와 같이 된다. 원래 치즈 모양 다시 한 시간 후에는 에서 ‘c’로 표시된 부분이 녹아 없어져서 과 같이 된다. 한 시간 후의 치즈 모양.. 2023. 1. 18.
728x90