본문 바로가기

분류 전체보기

(13)
[PROGRAMMERS] 추석 트래픽 (python, js) 문제 설명 이번 추석에도 시스템 장애가 없는 명절을 보내고 싶은 어피치는 서버를 증설해야 할지 고민이다. 장애 대비용 서버 증설 여부를 결정하기 위해 작년 추석 기간인 9월 15일 로그 데이터를 분석한 후 초당 최대 처리량을 계산해보기로 했다. 초당 최대 처리량은 요청의 응답 완료 여부에 관계없이 임의 시간부터 1초(=1,000밀리초)간 처리하는 요청의 최대 개수를 의미한다. 입력 형식 solution 함수에 전달되는 lines 배열은 N(1 ≦ N ≦ 2,000)개의 로그 문자열로 되어 있으며, 각 로그 문자열마다 요청에 대한 응답완료시간 S와 처리시간 T가 공백으로 구분되어 있다. 응답완료시간 S는 작년 추석인 2016년 9월 15일만 포함하여 고정 길이 2016-09-15 hh:mm:ss.sss 형..
[PROGRAMMERS] 야근 지수 - heap 문제 설명 회사원 Demi는 가끔은 야근을 하는데요, 야근을 하면 야근 피로도가 쌓입니다. 야근 피로도는 야근을 시작한 시점에서 남은 일의 작업량을 제곱하여 더한 값입니다. Demi는 N시간 동안 야근 피로도를 최소화하도록 일할 겁니다.Demi가 1시간 동안 작업량 1만큼을 처리할 수 있다고 할 때, 퇴근까지 남은 N 시간과 각 일에 대한 작업량 works에 대해 야근 피로도를 최소화한 값을 리턴하는 함수 solution을 완성해주세요. 제한 사항 works는 길이 1 이상, 20,000 이하인 배열입니다. works의 원소는 50000 이하인 자연수입니다. n은 1,000,000 이하인 자연수입니다. 입출력 예 worksnresult [4, 3, 3] 4 12 [2, 1, 2] 1 6 [1,1] 3 0..
[PROGRAMMERS] 입국심사 입국심사 문제 설명 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 명만 심사를 할 수 있습니다. 가장 앞에 서 있는 사람은 비어 있는 심사대로 가서 심사를 받을 수 있습니다. 하지만 더 빨리 끝나는 심사대가 있으면 기다렸다가 그곳으로 가서 심사를 받을 수도 있습니다. 모든 사람이 심사를 받는데 걸리는 시간을 최소로 하고 싶습니다. 입국심사를 기다리는 사람 수 n, 각 심사관이 한 명을 심사하는데 걸리는 시간이 담긴 배열 times가 매개변수로 주어질 때, 모든 사람이 심사를 받는데 걸리는 시간의 최솟값을 return 하도록 solution 함수를 작성해주세요. 제한사항..
[BAEKJOON] 3085 사탕 게임 문제 상근이는 어렸을 적에 "봄보니 (Bomboni)" 게임을 즐겨했다. 가장 처음에 N×N크기에 사탕을 채워 놓는다. 사탕의 색은 모두 같지 않을 수도 있다. 상근이는 사탕의 색이 다른 인접한 두 칸을 고른다. 그 다음 고른 칸에 들어있는 사탕을 서로 교환한다. 이제, 모두 같은 색으로 이루어져 있는 가장 긴 연속 부분(행 또는 열)을 고른 다음 그 사탕을 모두 먹는다. 사탕이 채워진 상태가 주어졌을 때, 상근이가 먹을 수 있는 사탕의 최대 개수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 보드의 크기 N이 주어진다. (3 ≤ N ≤ 50) 다음 N개 줄에는 보드에 채워져 있는 사탕의 색상이 주어진다. 빨간색은 C, 파란색은 P, 초록색은 Z, 노란색은 Y로 주어진다. 사탕의 색이 다른 인접한 두 ..
OOP / Functional Object Oriented Programming 객체 지향 프로그래밍 상속 : 클래스 개념에서 상위 클래스(부모)로 부터 하위클래스(자식)이 유산을 물려받는 것과 같이 부모의 메소드나 변수를 사용할 수 있는 것을 말함 다형성 : 같은 함수가 있을 때 매개변수에 따라 다른 역할을 할 수도 있다. 캡슐화 : 데이터 은닉, 외부에서 쉽게 데이터를 접근할 수 없게, 데이터 구조와 데이터를 다루는 방법들을 한데다 묶는 것 추상화 : 공통적인 속성이나 기능을 묶어서 이름을 붙이는 것 객체지향 프로그래밍 5대 원칙 (SOLID) SRP(단일 책임 원칙) OCP(개방-폐쇄 원칙) LSP(리스코프 치환 원칙) ISP(인터페이스 분리 원칙) DIP(의존 역전 원칙) 1. SRP(Single Responsiblity Pr..
[Programmers] 가장 먼 노드 문제 설명 n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다. 노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때, 1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지를 return 하도록 solution 함수를 작성해주세요. 제한사항 노드의 개수 n은 2 이상 20,000 이하입니다. 간선은 양방향이며 총 1개 이상 50,000개 이하의 간선이 있습니다. vertex 배열 각 행 [a, b]는 a번 노드와 b번 노드 사이에 간선이 있다는 의미입니다. 입출력 예 6 [[3, ..
let, const 키워드와 블록 레벨 스코프 var 변수 중복 선언 가능 var x = 1; var y = 1; var x = 100; var y; console.log(x); //100 console.log(y); //1 var y; 와 같은 초기화문의 유무에 따라 다르게 동작합니다. 초기화문이 있는 변수 선언문은 자바스크립트 엔진에 의해 var 키워드가 없는 것처럼 동작합니다. 초기화무이 없는 변수 선언문은 무시됩니다. 함수 레벨 스코프 var x = 1; if (true) { var x = 10; } console.log(x); // 10 함수 외부에서 var 키워드로 선언한 변수는 코드 블록 내에서 선언해도 전역변수가 됩니다. 변수 호이스팅 console.log(foo); // undefined foo = 123; console.log(fo..
Slack 클론 코딩 03 [React, Typescript] stopPropagation const Menu: FC = ({ closeButton, style, show, children, onCloseModal }) => { const stopPropagation = useCallback((e) => { e.stopPropagation(); }, []); return ( {closeButton && ×} {children} ); }; HTML에서는 이벤트 버블링으로 인해 자식을 클릭하면 부모까지 click event가 전달됩니다. stopPropagation을 사용해서 자식태그의 이벤트가 부모까지 전달되는 것을 막아줍니다. 부모 태그를 클릭했을 때는 모달창이 닫히게, 하지만 자식 태그를 클릭했을 때는 모달창이 닫히지 않는 방법입니다 Code-Splitting 코..