어댑터 패턴 클래스의 인터페이스를 사용자가 원하는 인터페이스 형태로 적응(변환)시킨다. 서로 일치하지 않는 인터페이스를 갖는 클래스들을 함께 동작시킨다. 구조 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,..
문제 링크 성능 요약 메모리: 4.2 MB, 시간: 0.02 ms 구분 코딩테스트 연습 > 2018 KAKAO BLIND RECRUITMENT 문제 설명 추석 트래픽 이번 추석에도 시스템 장애가 없는 명절을 보내고 싶은 어피치는 서버를 증설해야 할지 고민이다. 장애 대비용 서버 증설 여부를 결정하기 위해 작년 추석 기간인 9월 15일 로그 데이터를 분석한 후 초당 최대 처리량을 계산해보기로 했다. 초당 최대 처리량은 요청의 응답 완료 여부에 관계없이 임의 시간부터 1초(=1,000밀리초)간 처리하는 요청의 최대 개수를 의미한다. 입력 형식 solution 함수에 전달되는 lines 배열은 N(1 ≦ N ≦ 2,000)개의 로그 문자열로 되어 있으며, 각 로그 문자열마다 요청에 대한 응답완료시간 S와 처리..
문제 링크 성능 요약 메모리: 56.8 MB, 시간: 90.36 ms 구분 코딩테스트 연습 > 2022 KAKAO TECH INTERNSHIP 채점결과 정확성: 100.0 합계: 100.0 / 100.0 제출 일자 2023년 11월 6일 19:19:4 문제 설명 XX산은 n개의 지점으로 이루어져 있습니다. 각 지점은 1부터 n까지 번호가 붙어있으며, 출입구, 쉼터, 혹은 산봉우리입니다. 각 지점은 양방향 통행이 가능한 등산로로 연결되어 있으며, 서로 다른 지점을 이동할 때 이 등산로를 이용해야 합니다. 이때, 등산로별로 이동하는데 일정 시간이 소요됩니다. 등산코스는 방문할 지점 번호들을 순서대로 나열하여 표현할 수 있습니다. 예를 들어 1-2-3-2-1 으로 표현하는 등산코스는 1번지점에서 출발하여 2번..