Coding Test
-
[프로그래머스] 조건에 맞는 도서와 저자 리스트 출력하기 mysqlCoding Test/programmers 2023. 1. 5. 22:19
문제 설명 '경제' 카테고리에 속하는 도서들의 도서 ID(BOOK_ID), 저자명(AUTHOR_NAME), 출판일(PUBLISHED_DATE) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 출판일을 기준으로 오름차순 정렬해주세요. 풀이 오랜만에 SQL문제를 풀어서 기억이 안나서 당황했는데 이론들 찾아보면서 여러번 시도해보니 성공! SELECT B.BOOK_ID, A.AUTHOR_NAME, DATE_FORMAT(B.PUBLISHED_DATE, '%Y-%m-%d') as PUBLISHED_DATE FROM BOOK B LEFT JOIN AUTHOR A ON B.AUTHOR_ID = A.AUTHOR_ID WHERE CATEGORY in ('경제') #WHERE CATEGORY ='경제' ORDER BY P..
-
[프로그래머스] 테이블 해시 함수 c++Coding Test/programmers 2023. 1. 5. 17:39
문제 설명 완호가 관리하는 어떤 데이터베이스의 한 테이블은 모두 정수 타입인 컬럼들로 이루어져 있습니다. 테이블은 2차원 행렬로 표현할 수 있으며 열은 컬럼을 나타내고, 행은 튜플을 나타냅니다. 첫 번째 컬럼은 기본키로서 모든 튜플에 대해 그 값이 중복되지 않도록 보장됩니다. 완호는 이 테이블에 대한 해시 함수를 다음과 같이 정의하였습니다. 해시 함수는 col, row_begin, row_end을 입력으로 받습니다. 테이블의 튜플을 col번째 컬럼의 값을 기준으로 오름차순 정렬을 하되, 만약 그 값이 동일하면 기본키인 첫 번째 컬럼의 값을 기준으로 내림차순 정렬합니다. 정렬된 데이터에서 S_i를 i 번째 행의 튜플에 대해 각 컬럼의 값을 i 로 나눈 나머지들의 합으로 정의합니다. row_begin ≤ i..
-
[프로그래머스] 마법의 엘리베이터 c++Coding Test/programmers 2023. 1. 5. 09:21
문제 설명 마법의 세계에 사는 민수는 아주 높은 탑에 살고 있습니다. 탑이 너무 높아서 걸어 다니기 힘든 민수는 마법의 엘리베이터를 만들었습니다. 마법의 엘리베이터의 버튼은 특별합니다. 마법의 엘리베이터에는 -1, +1, -10, +10, -100, +100 등과 같이 절댓값이 10c (c ≥ 0 인 정수) 형태인 정수들이 적힌 버튼이 있습니다. 마법의 엘리베이터의 버튼을 누르면 현재 층 수에 버튼에 적혀 있는 값을 더한 층으로 이동하게 됩니다. 단, 엘리베이터가 위치해 있는 층과 버튼의 값을 더한 결과가 0보다 작으면 엘리베이터는 움직이지 않습니다. 민수의 세계에서는 0층이 가장 아래층이며 엘리베이터는 현재 민수가 있는 층에 있습니다. 마법의 엘리베이터를 움직이기 위해서 버튼 한 번당 마법의 돌 한 개..
-
[LeetCode] 206. Reverse Linked List c++Coding Test/LeetCode 2023. 1. 4. 23:00
문제 Given the head of a singly linked list, reverse the list, and return the reversed list. 단일 링크드 리스트가 주어지면 순서를 뒤집는 문제입니다. 문제 해결 class Solution { public: ListNode* reverseList(ListNode* head) { ListNode *nextNode, *prevNode = NULL; while(head){ nextNode = head->next; head->next = prevNode; prevNode = head; head = nextNode; } return prevNode; } }; 다른 풀이 class Solution { public: ListNode* reverseL..
-
[LeetCode] 21. Merge Two Sorted Lists c++Coding Test/LeetCode 2023. 1. 4. 22:47
문제 You are given the heads of two sorted linked lists list1 and list2. Merge the two lists in a one sorted list. The list should be made by splicing together the nodes of the first two lists. Return the head of the merged linked list. 주어진 두 개의 노드를 오름차순으로 합치는 문제입니다. 문제 해결 RECURSIVE APPROACH class Solution { public: ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) { if(NULL == list1){ ret..
-
[LeetCode] 994. Rotting Oranges c++Coding Test/LeetCode 2023. 1. 4. 19:10
문제 You are given an m x n grid where each cell can have one of three values: 0 representing an empty cell, 1 representing a fresh orange, or 2 representing a rotten orange. Every minute, any fresh orange that is 4-directionally adjacent to a rotten orange becomes rotten. Return the minimum number of minutes that must elapse until no cell has a fresh orange. If this is impossible, return -1. 2는 썩..