분류 전체보기

문제 링크 성능 요약 메모리: 13.5 MB, 시간: 1.46 ms 구분 코딩테스트 연습 > 월간 코드 챌린지 시즌1 문제 설명 0과 1로 이루어진 2n x 2n 크기의 2차원 정수 배열 arr이 있습니다. 당신은 이 arr을 쿼드 트리와 같은 방식으로 압축하고자 합니다. 구체적인 방식은 다음과 같습니다. 당신이 압축하고자 하는 특정 영역을 S라고 정의합니다. 만약 S 내부에 있는 모든 수가 같은 값이라면, S를 해당 수 하나로 압축시킵니다. 그렇지 않다면, S를 정확히 4개의 균일한 정사각형 영역(입출력 예를 참고해주시기 바랍니다.)으로 쪼갠 뒤, 각 정사각형 영역에 대해 같은 방식의 압축을 시도합니다. arr이 매개변수로 주어집니다. 위와 같은 방식으로 arr을 압축했을 때, 배열에 최종적으로 남는 ..
브릿지 패턴 구현에서 추상을 분리하여, 이들이 독립적으로 다양성을 가질 수 있도록 만들어준다. 큰 클래스 또는 밀접하게 관련된 클래스들의 집합을 두 개의 개별 계층구조​(추상화 및 구현)​로 나눈 후 각각 독립적으로 개발할 수 있도록 하는 구조 디자인 패턴이다. 구조 Abstraction - 추상적 개념에 대한 인터페이스를 제공하고 객체 구현자에 대한 참조자를 관리한다. RefinedAbstraction - 추상적 개념에 정의된 인터페이스를 확장한다. Implementor - 구현 클래스에 대한 인터페이스를 제공한다. 실질적인 구현을 제공한 서브클래스들에 공통적인 연산의 시그니처만을 정의한다. 일반적으로 Implementor 인터페이스는 기본적인 구현 연산을 구행하고, Abstraction은 더 추상화..
어댑터 패턴 클래스의 인터페이스를 사용자가 원하는 인터페이스 형태로 적응(변환)시킨다. 서로 일치하지 않는 인터페이스를 갖는 클래스들을 함께 동작시킨다. 구조 Target - 사용자가 사용할 응용 분야에 종속적인 인터페이스를 정의하는 클래스 Adaptee - 인터페이스의 적응이 필요한 기존 인터페이스를 정의하는 클래스 Adapter - Target 인터페이스에 Adaptee의 인터페이스를 적응시키는 클래스 기본 인터페이스 //클래스 어댑터 - 타겟 인터페이스에 구체 Adaptee를 실행시킨다. public interface ITarget { public void Operate(); } public class Adaptee { public void SpecificOperation() { Console.Wr..
문제 링크 성능 요약 메모리: 4.2 MB, 시간: 0.44 ms 구분 코딩테스트 연습 > 연습문제 문제 설명 호텔을 운영 중인 코니는 최소한의 객실만을 사용하여 예약 손님들을 받으려고 합니다. 한 번 사용한 객실은 퇴실 시간을 기준으로 10분간 청소를 하고 다음 손님들이 사용할 수 있습니다. 예약 시각이 문자열 형태로 담긴 2차원 배열 book_time이 매개변수로 주어질 때, 코니에게 필요한 최소 객실의 수를 return 하는 solution 함수를 완성해주세요. 제한사항 1 ≤ book_time의 길이 ≤ 1,000 book_time[i]는 ["HH:MM", "HH:MM"]의 형태로 이루어진 배열입니다 [대실 시작 시각, 대실 종료 시각] 형태입니다. 시각은 HH:MM 형태로 24시간 표기법을 따르..
문제 링크 성능 요약 메모리: 3.8 MB, 시간: 0.02 ms 구분 코딩테스트 연습 > 연습문제 문제 설명 124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다. 예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다. 10진법 124 나라 10진법 124 나라 1 1 6 14 2 2 7 21 3 4 8 22 4 11 9 24 5 12 10 41 자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return 하도록 solution 함수를 완성해 주세요. 제한사항 n은 50,000,000이하의 자연수 ..
싱글톤 패턴 오직 한 개의 클래스 인스턴스만을 갖도록 보장하고, 이에 대한 전역적인 접근점을 제공한다. 시스템 런타임, 환경 세팅에 대한 정보 등 인스턴스가 여러 개일 때 발생하는 문제들을 해결할 수 있는 패턴이다. 구조 Singleton - Instance() 연산을 정의하여 유일한 인스턴스로 접근할 수 있도록 한다. 유일한 인스턴스를 생성하는 책임을 맡는다. 기본 인터페이스 //싱글톤 클래스 public class Singleton { //자기 자신을 멤버로 갖는다. private static Singleton m_instance; public int a; private Singleton(){} //Instance() 클래스는 단일체 인스턴스를 생성하고 접근하는 책임을 가진다. public stat..
문제 링크 성능 요약 메모리: 4.02 MB, 시간: 0.17 ms 구분 코딩테스트 연습 > 2023 현대모비스 알고리즘 경진대회 예선 문제 설명 현대모비스는 우수한 SW 인재 채용을 위해 상시로 채용 설명회를 진행하고 있습니다. 채용 설명회에서는 채용과 관련된 상담을 원하는 참가자에게 멘토와 1:1로 상담할 수 있는 기회를 제공합니다. 채용 설명회에는 멘토 n명이 있으며, 1~k번으로 분류되는 상담 유형이 있습니다. 각 멘토는 k개의 상담 유형 중 하나만 담당할 수 있습니다. 멘토는 자신이 담당하는 유형의 상담만 가능하며, 다른 유형의 상담은 불가능합니다. 멘토는 동시에 참가자 한 명과만 상담 가능하며, 상담 시간은 정확히 참가자가 요청한 시간만큼 걸립니다. 참가자가 상담 요청을 하면 아래와 같은 규칙..
문제 링크 성능 요약 메모리: 4.69 MB, 시간: 1.54 ms 구분 코딩테스트 연습 > 2020 KAKAO BLIND RECRUITMENT 문제 설명 로봇개발자 "무지"는 한 달 앞으로 다가온 "카카오배 로봇경진대회"에 출품할 로봇을 준비하고 있습니다. 준비 중인 로봇은 2 x 1 크기의 로봇으로 "무지"는 "0"과 "1"로 이루어진 N x N 크기의 지도에서 2 x 1 크기인 로봇을 움직여 (N, N) 위치까지 이동 할 수 있도록 프로그래밍을 하려고 합니다. 로봇이 이동하는 지도는 가장 왼쪽, 상단의 좌표를 (1, 1)로 하며 지도 내에 표시된 숫자 "0"은 빈칸을 "1"은 벽을 나타냅니다. 로봇은 벽이 있는 칸 또는 지도 밖으로는 이동할 수 없습니다. 로봇은 처음에 아래 그림과 같이 좌표 (1,..
NewtronVania
'분류 전체보기' 카테고리의 글 목록 (6 Page)