프로그래머스
-
[프로그래머스] 몸짱 트레이너 라이언의 고민 / c++알고리즘/프로그래머스(PRPGRAMMERS) 2022. 12. 7. 01:40
몸짱 트레이너 라이언의 고민 헬스장에서 일하는 몸짱 트레이너 라이언은 최근 손님들에게 불평을 많이 들었다. 그것은 옷을 갈아입는데 다른 사람과 너무 가까워서 옷을 갈아입기가 불편하다는 것이었다. 불만을 해결하기 위해 고민하던 라이언은 손님들의 예약시간을 참고해서 되도록이면 서로 멀리 떨어지도록 키를 나눠주기로 마음먹었다. 예를 들어, 락커들이 3x3 정사각형 모양으로 배치되어있고, 동시간대에 2명의 손님이 예약되어있다면 아래와 같이 락커를 할당하는 것을 고려해볼 수 있다. 라이언이 일하는 헬스장은 아래와 같은 상황이라고 가정하자. 락커는 정사각형으로 배치되어있고, 락커 사이에 옷을 갈아입을 공간이 있다. 단, 이 공간은 계산에서 제외된다. 락커 간 거리는 상하좌우는 1로, 대각선은 2로 계산한다. 손님들..
-
[프로그래머스 DB] IS NULL 답안카테고리 없음 2022. 11. 16. 19:59
1. 경기도에 위치한 식품창고 목록 출력하기 풀이: 더보기 우선 주소에서 경기도로 시작하는 Column을 분리시켜 주어야 하고, 냉동시설 여부가 NULL 일때, 'N' 으로 출력해야 하므로 IFNULL(Nullable,'N') 으로 치환시켜줍니다. 그 다음 ORDER BY 함수로 창고 ID 를 오름차순으로 정렬해줍니다. SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IFNULL(FREEZER_YN,'N') AS FREEZER_YN FROM FOOD_WAREHOUSE WHERE ADDRESS LIKE '경기도%' ORDER BY WAREHOUSE_ID ASC 2. 이름이 없는 동물의 아이디 풀이: 더보기 NAME 컬럼이 NULL 일때를 조건절로 출력하면 된다. SELEC..
-
[프로그래머스 DB] SUM, MAX, MIN 답안뜯고 또 뜯어보는 컴퓨터/데이터베이스(DataBase) 2022. 11. 16. 19:07
1. 가장 비싼 상품 구하기 풀이 : 더보기 PRODUCT 테이블에서 가장 높은 판매가를 출력하는 SQL 문입니다. 따라서, MAX( ) 키워드를 사용하여 최대값을 나타내었으며, 컬럼명 변경을 위해, AS 사용해주었습니다. SELECT MAX(PRICE) AS MAX_PRICE FROM PRODUCT 2. 가격이 제일 비싼 식품의 정보 출력하기 풀이 : 더보기 우선 가장 비싼 식품의 PRICE를 MAX( ) 를 사용하여 view 테이블로 꺼내온 다음, where 조건절로 PRICE가 일치한 column을 꺼내왔습니다. SELECT * FROM FOOD_PRODUCT WHERE PRICE = (SELECT MAX(PRICE) AS PRICE FROM FOOD_PRODUCT) 3. 최댓값 구하기 풀이 : 더..
-
야간 전술보행 C++알고리즘/프로그래머스(PRPGRAMMERS) 2022. 11. 3. 02:51
https://school.programmers.co.kr/learn/courses/30/lessons/133501?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 전쟁에 참여한 화랑이는 적군의 기지에 침투하여 정보를 훔쳐오는 임무를 받았습니다. 화랑이는 야간 전술 보행을 이용하여 직진하며, 야간 전술 보행은 1m/s의 일정한 속도로 나아갈 수 있습니다. 화랑이의 침입 경로에는 경비병들이 각자 일부 구간들을 감시하고 있습니다. 각각의 경비병들이 감시하는 구간은 서로 겹치지 않으며, 일정 시간 동안 근무 후 일정 시간 동안 휴식을..
-
프로그래머스 이중우선순위큐 C++알고리즘/프로그래머스(PRPGRAMMERS) 2022. 10. 6. 12:22
문제 설명 이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말합니다. 명령어수신 탑(높이) I 숫자 큐에 주어진 숫자를 삽입합니다. D 1 큐에서 최댓값을 삭제합니다. D -1 큐에서 최솟값을 삭제합니다. 이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현해주세요. 제한 사항 operations는 길이가 1 이상 1,000,000 이하인 문자열 배열입니다. operations의 원소는 큐가 수행할 연산을 나타냅니다. 원소는 “명령어 데이터” 형식으로 주어집니다.- 최댓값/최솟값을 삭제하는 연산에서 최댓값/최솟값이 둘 이상인 경우, 하나만 삭제..
-
가장 먼 노드알고리즘/프로그래머스(PRPGRAMMERS) 2022. 4. 29. 16:04
문제 n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다. 노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때, 1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지를 return 하도록 solution 함수를 작성해주세요. 입출력 N VERTEX RETURN 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 접근법 그래프의 순회 문제이며, 그래프의 특정점 ( 문제에서는 1로 정해짐. ) 으로 부터 가장 멀리 떨어져 있는..
-
입국심사알고리즘/프로그래머스(PRPGRAMMERS) 2022. 4. 29. 15:10
문제 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 명만 심사를 할 수 있습니다. 가장 앞에 서 있는 사람은 비어 있는 심사대로 가서 심사를 받을 수 있습니다. 하지만 더 빨리 끝나는 심사대가 있으면 기다렸다가 그곳으로 가서 심사를 받을 수도 있습니다. 모든 사람이 심사를 받는데 걸리는 시간을 최소로 하고 싶습니다. 입국심사를 기다리는 사람 수 n, 각 심사관이 한 명을 심사하는데 걸리는 시간이 담긴 배열 times가 매개변수로 주어질 때, 모든 사람이 심사를 받는데 걸리는 시간의 최솟값을 return 하도록 solution 함수를 작성해주세요. 입출력 N Times ..
-
N으로 표현알고리즘/프로그래머스(PRPGRAMMERS) 2022. 4. 29. 12:24
문제 아래와 같이 5와 사칙연산만으로 12를 표현할 수 있습니다. 12 = 5 + 5 + (5 / 5) + (5 / 5) 12 = 55 / 5 + 5 / 5 12 = (55 + 5) / 5 5를 사용한 횟수는 각각 6,5,4 입니다. 그리고 이중 가장 작은 경우는 4입니다. 이처럼 숫자 N과 number가 주어질 때, N과 사칙연산만 사용해서 표현 할 수 있는 방법 중 N 사용횟수의 최솟값을 return 하도록 solution 함수를 작성하세요. 입출력 예시 NUMBER N RETURN 5 12 4 2 11 3 접근법 동적 계획법으로 접근을 해주는데, dynamic_results 에는 숫자 n 으로 i 개 표현할 수 있는 값들이 모두 들어간다. 과 < i -..