전체 글

개발 내용과 지식을 정리한 블로그입니다.
문제 링크 성능 요약 메모리: 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번..
문제 링크 성능 요약 메모리: 3.64 MB, 시간: 0.01 ms 구분 코딩테스트 연습 > 2019 카카오 개발자 겨울 인턴십 채점결과 정확성: 100.0 합계: 100.0 / 100.0 제출 일자 2023년 11월 6일 18:46:29 문제 설명 개발팀 내에서 이벤트 개발을 담당하고 있는 "무지"는 최근 진행된 카카오이모티콘 이벤트에 비정상적인 방법으로 당첨을 시도한 응모자들을 발견하였습니다. 이런 응모자들을 따로 모아 불량 사용자라는 이름으로 목록을 만들어서 당첨 처리 시 제외하도록 이벤트 당첨자 담당자인 "프로도" 에게 전달하려고 합니다. 이 때 개인정보 보호을 위해 사용자 아이디 중 일부 문자를 '*' 문자로 가려서 전달했습니다. 가리고자 하는 문자 하나에 '*' 문자 하나를 사용하였고 아이디 ..
문제 링크 성능 요약 메모리: 4.22 MB, 시간: 0.01 ms 구분 코딩테스트 연습 > Summer/Winter Coding(~2018) 채점결과 정확성: 100.0 합계: 100.0 / 100.0 제출 일자 2023년 11월 6일 18:3:41 문제 설명 선행 스킬이란 어떤 스킬을 배우기 전에 먼저 배워야 하는 스킬을 뜻합니다. 예를 들어 선행 스킬 순서가 스파크 → 라이트닝 볼트 → 썬더일때, 썬더를 배우려면 먼저 라이트닝 볼트를 배워야 하고, 라이트닝 볼트를 배우려면 먼저 스파크를 배워야 합니다. 위 순서에 없는 다른 스킬(힐링 등)은 순서에 상관없이 배울 수 있습니다. 따라서 스파크 → 힐링 → 라이트닝 볼트 → 썬더와 같은 스킬트리는 가능하지만, 썬더 → 스파크나 라이트닝 볼트 → 스파크 ..
프로토타입 패턴 원형이 되는 객체를 사용하여 생성할 객체의 종류를 명시하고, 이렇게 만든 견본을 복사해서 새로운 객체를 생성하는데 목적은 둔 패턴이다. 구조 Prototype : 자신을 복제하는 데 필요한 인터페이스를 정의한다. ConcretePrototype - 자신을 복제하는 연산을 정의한다. Client - 원형 객체에 자기 자신의 복제를 요청하여 새로운 객체를 생성한다. 기본 인터페이스 namespace Prototype; //프로토타입 인터페이스 public interface Prototype { public Prototype Clone(); } //프로토타입 상속 클래스 public class ConcretePrototypeA : Prototype { private int a; priva..
빌더 패턴 복잡한 객체를 생성하는 방법과 표현하는 방법을 정의하는 클래스를 별도로 분리하여 서로 다른 표현이라도 이를 생성할 수 있는 동일한 절차를 제공하는 패턴이다. 생성자에 들어갈 매개변수들을 받아 객체를 생성하는 데 도움을 준다. 구조 Builder - Product 객체의 일부 요소들을 생성하기 위한 추상 인터페이스를 정의한다. ConcreteBuilder - Builder클래스에 정의된 인터페이스의 구현 서브클래스로, 제품의 부품들을 모아 빌더를 복합한다. 생성한 요소의 표현을 정리하고 관리한다. Director - Builder 인터페이스를 사용하는 객체를 합성한다. Product - 생성할 복합 객체를 표현한다. ConcreteBuilder는 제품의 내부 표현을 구축하고 복합 객체가 어떻..
문제 링크 성능 요약 메모리: 4.22 MB, 시간: 0.02 ms 구분 코딩테스트 연습 > 2022 KAKAO BLIND RECRUITMENT 채점결과 정확성: 100.0 합계: 100.0 / 100.0 제출 일자 2023년 11월 2일 18:8:12 문제 설명 문제 설명 주차장의 요금표와 차량이 들어오고(입차) 나간(출차) 기록이 주어졌을 때, 차량별로 주차 요금을 계산하려고 합니다. 아래는 하나의 예시를 나타냅니다. 요금표 기본 시간(분) 기본 요금(원) 단위 시간(분) 단위 요금(원) 180 5000 10 600 입/출차 기록 시각(시:분) 차량 번호 내역 05:34 5961 입차 06:00 0000 입차 06:34 0000 출차 07:59 5961 출차 07:59 0148 입차 18:59 000..
문제 링크 성능 요약 메모리: 4.21 MB, 시간: 0.04 ms 구분 코딩테스트 연습 > 2018 KAKAO BLIND RECRUITMENT 채점결과 정확성: 100.0 합계: 100.0 / 100.0 제출 일자 2023년 11월 2일 17:48:54 문제 설명 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브는 사용자들이 편리하게 다양한 뉴스를 찾아볼 수 있도록 문제점을 개선하는 업무를 맡게 되었다. 개발의 방향을 잡기 위해 튜브는 우선 최근 화제가 되고 있는 "카카오 신입 개발자 공채" 관련 기사를 검색해보았다. 카카오 첫 공채..'블라인드' 방식 채용 카카..
NewtronVania
Newtron의 프로그래밍 블로그