전체 글 181

[Python/파이썬] 백준 알고리즘 1931 - 회의실 배정 (Greedy Approach)

처음 필자는 시작 시간과 끝나는 시간의 차를 구해 그것을 기준으로 오름차순 정렬 후 다른 회의 시간대와 겹치지 않는다면 추가하는 방식으로 풀려고 했다. 하지만 이 방식의 경우 이중 for문을 사용하게 되므로 O(n^2) : 100000 * 100000 = 100억 (> 4억(시간제한 2초))이 되버려 불가능한 풀이였다. 이는 조금 생각을 달리하여 풀리는 문제였는데, 전체 회의의 시작시간은 0시로 정해져있으니 굳이 회의 시간을 구해주지 않더라도 끝나는 시간을 기준으로 오름차순 정렬하면 그것이 회의 시간을 정렬한 것과 비슷한 의미가 될 수 있었다. 그리고 한가지 더 고려해야할 사항이 있는데 끝나는 시간이 같은 경우이다. 끝나는 시간이 같다면 빨리 시작하는 순서대로 정렬이 되어야한다. 예를 들어보겠다. (3 ..

[React/Typescript] react img 절대경로 적용하는 법 (feat.Carco) (CRA로 만든 React + Typescript 프로젝트)

프로젝트 폴더 구조가 겹겹으로 되어있는 경우, 상대경로의 문제점은 위와같이 코드가 길어지고 지저분해진다는 것이다. 때문에 대부분 절대경로를 사용한다고 한다. 그리고 이미지 경로에도 마찬가지로 위와 같이 불편하고 지저분한 감이 있었다. (img태그의 src 속성에 require("경로").default를하면 엑박이 뜨지 않는다.) 이때 발견한 괜찮은 방법은 Craco라는 모듈과 craco-alias라는 플러그인을 사용해 tsconfig 옵션을 적용하는 것이다. Craco Create React App Configuration Override Create-React-App(CRA)를 쉽게 설정하기 위해 만들어졌다. craco 모듈을 설치하고 root 폴더에 craco.config.js 파일을 만들고 그곳에 ..

Front-End/React.JS 2022.03.10

[프로그래머스 SQL 고득점 Kit] 오랜 기간 보호한 동물(2)

SELECT animal_id, name FROM ANIMAL_OUTS as O JOIN ANIMAL_INS as I USING (animal_id, animal_type, name) ORDER BY O.datetime - I.datetime desc LIMIT 2 DATETIME 끼리는 기본적인 연산이 가능하다는 것을 알게 되었다. 그리고 그를 이용한 값을 ORDER BY에서 이용할수도 있다는 것도 알게되었다. JOIN ~ USING을 사용하면 조금더 깔끔하게 작성할 수 있다.

Back-End/SQL 2022.03.04

[프로그래머스 SQL 고득점 Kit] 입양 시각 구하기(2)

SET @hour := -1; -- 변수 선언 SELECT (@hour := @hour + 1) as HOUR, (SELECT COUNT(*) FROM ANIMAL_OUTS WHERE HOUR(DATETIME) = @hour) as COUNT FROM ANIMAL_OUTS WHERE @hour < 23 ORDER BY HOUR asc 쿼리문에서 로컬 변수를 활용하는 문제다. SET을 사용하면 변수를 정의할 수 있다. @가 붙은 것은 변수라고 생각하면 된다. 즉, hour는 초기값이 -1인 변수이다. :=은 비교 연산자 =과 혼동을 피하기 위한 대입 연산자이다. SELECT (@hour := @hour + 1)은 @hour의 값에 1씩 증가시키며 SELECT 문 전체를 실행하게 된다. 이때, 처음 hour..

Back-End/SQL 2022.03.04

[Oracel / SQL] JOIN 예시와 함께 톺아보기 (Inner, Outer, Left, Right, Natural JOIN)

1. INNER JOIN (내부 조인, 동등 조인) SELECT {컬럼 명} FROM {테이블 A} (INNER) JOIN {테이블 B} ON A.{공통 속성} = B.{공통 속성}; INNER는 생략해도 된다. 가장 일반적인 JOIN(교집합)이며 조건이 일치하는 값이 두 테이블에 모두 존재할 때 출력한다. 아래와 같이 카티션 곱을 활용해 작성해도 된다. SELECT {컬럼 명} FROM {테이블 A}, {테이블 B} WHERE A.{공통 속성} = B.{공통 속성}; 하지만 카티션 곱을 이용하면 메모리 사용량이 커지므로 JOIN을 사용하는 것이 좋다. 2. OUTER JOIN (외부 조인) LEFT OUTER JOIN - A 테이블과 중복되는 B 값과 B 와 중복되지 않은 A 의 모든 값을 출력 RIG..

Back-End/SQL 2022.03.03
반응형