CODE/Coding Test

    [HackerRank] Basic SELECT

    HackerRank에서 BASIC 문제에 해당하는 Weather Observation Station에 해당하는 문제들을 풀었습니다. 문자열이 포함되는 경우, 포함되지 않는 경우를 LOWER, SUBSTR, NOT IN을 사용해서 풀었습니다. # 8 - 다중 조건, LIKE 사용 SELECT DISTINCT CITY FROM STATION WHERE (CITY LIKE 'a%' OR CITY LIKE 'e%' OR CITY LIKE 'i%' OR CITY LIKE 'o%' OR CITY LIKE 'u%') AND (CITY LIKE '%a' OR CITY LIKE '%e' OR CITY LIKE '%i' OR CITY LIKE '%o' OR CITY LIKE '%u'); # 8 - LOWER, SUBSTR..

    [Programmers] 깊이/너비우선탐색(DFS/BFS) - 단어 변환

    해당 글은 프로그래머스 문제를 푼 내용입니다. 프로그래머스 - 단어 변환: https://programmers.co.kr/learn/courses/30/lessons/43163 문제 설명 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. 2. words에 있는 단어로만 변환할 수 있습니다. 예를 들어 begin이 "hit", target가 "cog", words가 ["hot","dot","dog","lot","log","cog"]라면 "hit" -> "hot" -> "dot" -> "dog" -> "cog"와 같이 4단..

    [Programmers] 힙(heap) - 디스크 컨트롤러

    [Programmers] 힙(heap) - 디스크 컨트롤러

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

    [Programmers] 탐욕법(Greedy) - 큰 수 만들기

    문제 설명 어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다. 예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다. 문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요. 제한 조건 number는 1자리 이상, 1,000,000자리 이하인 숫자입니다. k는 1 이상 number의 자릿수 미만인 자연수입니다. 입출력 예 number k return "1924" 2 "94" ..

    [Programmers] 탐욕법(Greedy) - 구명보트

    해당 문제는 프로그래머스의 탐욕법에 해당하는 문제를 풀고 작성한 것임을 밝힙니다. 프로그래머스 - 구명보트: https://programmers.co.kr/learn/courses/30/lessons/42885 문제 설명 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게 제한을 초과하여 같이 탈 수 없습니다. 구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다. 사..

    [Programmers] 그래프(Graph) - 가장 먼 노드

    [Programmers] 그래프(Graph) - 가장 먼 노드

    해당 글은 프로그래머스의 그래프 탐색 기법에 해당하는 문제를 풀고 작성했음을 밝힙니다. 해당 문제를 풀면서 참고한 블로그 출처를 아래에 밝힙니다. 프로그래머스 문제 링크 - https://programmers.co.kr/learn/courses/30/lessons/49189 문제 풀이 참고 - https://velog.io/@younge/Python-프로그래머스-가장-먼-노드-그래프 문제 설명 n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다. 노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 ..

    [Programmers] 해쉬 - 베스트앨범

    해당 글은 프로그래머스 해쉬 Level3. 베스트 앨범을 풀고 작성한 글임을 밝힙니다. https://programmers.co.kr/learn/courses/30/lessons/42579 베스트앨범 문제 설명 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. 노래의 장르를 나타내는 문자열 배열 genres와 노래별 재생 횟수를 나타내는 정수 배열 plays가 주어질 때, 베스트 앨범에 들어갈 노래..

    [Programmers] SQL 고득점 Kit

    [Programmers] SQL 고득점 Kit

    해당 글은 프로그래머스 SQL 고득점 Kit를 바탕으로 작성됐음을 밝힙니다. 코딩테스트 연습 | 프로그래머스 (programmers.co.kr) - https://programmers.co.kr/learn/challenges SQL 고득점 Kit에는 SELECT, AGGREGATE(SUM, MAX, MIN), GROUP BY, IS NULL, JOIN, String, Date와 관련된 문제들로 구성되어 있습니다. LEVEL 2 문제만 골라풀다가 GROUP BY와 JOIN 문제들을 풀어나가는 중입니다. 드디어 1개 남았습니다. Keep Going! 다 풀었습니다~! SELECT # 문제명: 모듬 레코드 조회하기 # 모든 레코드 조회 SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_..