프로그래머스 4

스택_올바른 괄호(프로그래머스)

이전에 알고리즘 문제들을 파이썬으로 풀었었는데 노드를 하면서 자바스크립트를 사용하게 되어 자바스크립트를 활용해서 알고리즘 문제들을 다시 풀어보려 한다! 처음에 stack을 사용하지 않고 해보고자 count 변수를 생성하여 여는 괄호이면 + 닫는 괄호이면 -를 하는 방식으로 해결해 보려 하였다. 하지만 역시나 이런 방식은 순서에 상관없이 count 값이 마지막에 0 이면 무조건 true 값이 return 되는 방식이라 괄호의 짝이 맞지 않아도 여는 괄호 닫는 괄호의 개수만 같으면 무조건 true 값이 나오게 된다. ㅎㅎ,, 너무 단순하게 생각했던,, 아래 코드가 최종 결과물! array로 stack 구조를 사용하여 코드를 다시 구현했다. 1. 첫번째 value값이 닫는 괄호이면 괄호 짝이 맞을 수 없으니 ..

카테고리 없음 2022.08.22

[프로그래머스] 힙 - 디스크 컨트롤러

문제 설명 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를들어 - 0ms 시점에 3ms가 소요되는 A작업 요청 - 1ms 시점에 9ms가 소요되는 B작업 요청 - 2ms 시점에 6ms가 소요되는 C작업 요청 와 같은 요청이 들어왔습니다. 이를 그림으로 표현하면 아래와 같습니다. 한 번에 하나의 요청만을 수행할 수 있기 때문에 각각의 작업을 요청받은 순서대로 처리하면 다음과 같이 처리 됩니다. - A: 3ms 시점에 작업 완료 (요청에서 종료까지 : 3ms) - B: 1ms부터 대기하다가, 3ms 시점에 작업을 시작해서 12ms 시점에 작업 완료(요청에서 종료까지 : 11..

카테고리 없음 2021.11.02

[프로그래머스] Stack/Queue - 프린터

문제 접근 방식 1. 대기목록에 들어가있는 순서대로 앞에서 부터 인쇄의 여부를 경정하기 때문에 queue를 사용 2. 요청한 문서의 위치 값을 -1 씩 하고, index -1이 되었을 때 해당 문서의 중요도가 나머지 문서들 보다 높은지 확인 3-1. 높으면 문서가 인쇄 될 때마다 count했던 값을 반환 3-2. 낮으면 queue에 다시 append from collections import deque def solution(priorities, location): count = 0 priorities = deque(priorities) while True: value = priorities.popleft() location -= 1 if len(priorities) == 0: default = valu..

카테고리 없음 2021.09.24

[프로그래머스] SQL - 입양 시각 구하기

문 제 접근 ANIMAL_OUTS 테이블에는 시간이 0부터 나와있지 않다. 조인 할 수 있는 테이블이 필요여기서..생겨난 문제.. 0부터 23까지의 테이블을 어떻게 만들지??.... 일단 0~23까지를 가진 테이블이 필요하기 때문에 mysql에서 임시테이블을 만드는 방법을 찾아보았다. 그러다 찾은 방법이 with절! (mysql8.0 이후 부터 사용가능) 사용방법 WITH '임시테이블명' AS ( 생성할 쿼리 ) with 절에는 재귀, 비재귀 두가지 방법이 있고, 0~23까지를 가진 임시테이블을 재귀 방식을 통해 해결할 수 있다고 한다. 그렇게 해서 나온 방법이 !! 초깃값 0인 HOUR을 시작으로 +1 씩 23 이하일 경우까지 반복해서 임시테이블을 생성한다. WITH RECURSIVE TIME AS (..

카테고리 없음 2021.09.22