LeetCode_Gray Code Javascript Given an integer n, return any valid n-bit gray code sequence. 2021-07-02
LeetCode_Lowest Common Ancestor of a Binary Tree Javascript Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. 2021-06-30
LEVEL3_프로그래머스_풍선 터트리기 Javascript 일렬로 나열된 n개의 풍선이 있습니다. 모든 풍선에는 서로 다른 숫자가 써져 있습니다. 당신은 다음 과정을 반복하면서 풍선들을 단 1개만 남을 때까지 계속 터트리려고 합니다. 2021-01-17
LEVEL3_프로그래머스_섬 연결하기 Javascript n개의 섬 사이에 다리를 건설하는 비용(costs)이 주어질 때, 최소의 비용으로 모든 섬이 서로 통행 가능하도록 만들 때 필요한 최소 비용을 return 하도록 solution을 완성하세요. 2021-01-16
LEVEL3_프로그래머스_[1차] 셔틀버스 Javascript 카카오에서는 무료 셔틀버스를 운행하기 때문에 판교역에서 편하게 사무실로 올 수 있다. 카카오의 직원은 서로를 '크루'라고 부르는데, 아침마다 많은 크루들이 이 셔틀을 이용하여 출근한다. 2020-12-29
LEVEL2_프로그래머스_캐시 Javascript 지도개발팀에서 근무하는 제이지는 지도에서 도시 이름을 검색하면 해당 도시와 관련된 맛집 게시물들을 데이터베이스에서 읽어 보여주는 서비스를 개발하고 있다. 2020-11-04
LEVEL4_프로그래머스_자동완성 Javascript 포털 다음에서 검색어 자동완성 기능을 넣고 싶은 라이언은 한 번 입력된 문자열을 학습해서 다음 입력 때 활용하고 싶어 졌다. 예를 들어, go 가 한 번 입력되었다면, 다음 사용자는 g 만 입력해도 go를 추천해주므로 o를 입력할 필요가 없어진다! 2020-10-29
LEVEL4_프로그래머스_가사 검색 Javascript 친구들로부터 천재 프로그래머로 불리는 프로도는 음악을 하는 친구로부터 자신이 좋아하는 노래 가사에 사용된 단어들 중에 특정 키워드가 몇 개 포함되어 있는지 궁금하니 프로그램으로 개발해 달라는 제안을 받았습니다. 2020-10-29
LEVEL2_프로그래머스_오픈채팅방 Javascript 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 2020-10-28
LEVEL2_프로그래머스_파일명 정렬 Javascript 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 2020-10-27
LEVEL2_프로그래머스_구명보트 Javascript 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 2020-10-26
LEVEL3_프로그래머스_가장 먼 노드 Javascript n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다. 2020-10-22
LEVEL3_프로그래머스_네트워크 Javascript 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 2020-10-20
LEVEL3_프로그래머스_단어 변환 Javascript 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 2020-10-19
LEVEL3_프로그래머스_여행경로 Javascript 주어진 항공권을 모두 이용하여 여행경로를 짜려고 합니다. 항상 ICN 공항에서 출발합니다. 항공권 정보가 담긴 2차원 배열 tickets가 매개변수로 주어질 때, 방문하는 공항 경로를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 2020-10-17
LEVEL3_프로그래머스_추석 트래픽 Javascript 이번 추석에도 시스템 장애가 없는 명절을 보내고 싶은 어피치는 서버를 증설해야 할지 고민이다. 장애 대비용 서버 증설 여부를 결정하기 위해 작년 추석 기간인 9월 15일 로그 데이터를 분석한 후 초당 최대 처리량을 계산해보기로 했다. 2020-10-11
LEVEL3_프로그래머스_입국심사 Javascript n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 2020-10-07
LEVEL4_프로그래머스_게임 맵 최단거리 Javascript ROR 게임은 두 팀으로 나누어서 진행하며, 상대 팀 진영을 먼저 파괴하면 이기는 게임입니다. 따라서, 각 팀은 상대 팀 진영에 최대한 빨리 도착하는 것이 유리합니다. 2020-10-02
LEVEL2_프로그래머스_가장 큰 수 Javascript 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 2020-09-24
LEVEL2_프로그래머스_괄호 변환 Javascript 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴파일하여 로그를 보니 대부분 소스 코드 내 작성된 괄호가 개수는 맞지만 짝이 맞지 않은 형태로 작성되어 오류가 나는 것을 알게 되었습니다. 2020-09-24
LEVEL2_프로그래머스_문자열 압축 Javascript 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현하여 더 짧은 문자열로 줄여서 표현하는 알고리즘을 공부하고 있습니다. 2020-09-24
LEVEL2_프로그래머스_삼각 달팽이 Javascript 정수 n이 매개변수로 주어집니다. 다음 그림과 같이 밑변의 길이와 높이가 n인 삼각형에서 맨 위 꼭짓점부터 반시계 방향으로 달팽이 채우기를 진행한 후, 첫 행부터 마지막 행까지 모두 순서대로 합친 새로운 배열을 return 하도록 solution 함수를 완성해주세요. 2020-09-16
LEVEL4_프로그래머스_우유와 요거트가 담긴 장바구니 MySQL 데이터 분석 팀에서는 우유(Milk)와 요거트(Yogurt)를 동시에 구입한 장바구니가 있는지 알아보려 합니다. 우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회하는 SQL 문을 작성해주세요. 이때 결과는 장바구니의 아이디 순으로 나와야 합니다. 2020-09-09
LEVEL4_프로그래머스_입양 시각 구하기(2) MySQL 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다. 2020-09-05
LEVEL2_프로그래머스_예상 대진표 Javascript △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 2020-08-15
LEVEL3_프로그래머스_오랜 기간 보호한 동물(2) MySQL 입양을 간 동물 중, 보호 기간이 가장 길었던 동물 두 마리의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 기간이 긴 순으로 조회해야 합니다. 2020-08-10
LEVEL3_프로그래머스_없어진 기록 찾기 MySQL 천재지변으로 인해 일부 데이터가 유실되었습니다. 입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물의 ID와 이름을 ID 순으로 조회하는 SQL문을 작성해주세요. 2020-08-02
LEVEL1_프로그래머스_크레인 인형뽑기 게임 Javascript 게임개발자인 죠르디는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다. 죠르디는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 2020-08-02
LEVEL2_프로그래머스_동명 동물 수 찾기 MySQL 동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요. 2020-07-23
LEVEL2_프로그래머스_중성화 여부 파악하기 MySQL 보호소의 동물이 중성화되었는지 아닌지 파악하려 합니다. 중성화된 동물은 SEX_UPON_INTAKE 컬럼에 'Neutered' 또는 'Spayed'라는 단어가 들어있습니다. 동물의 아이디와 이름, 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 중성화가 되어있다면 'O', 아니라면 'X'라고 표시해주세요. 2020-07-10
LEVEL2_프로그래머스_숫자 야구 Javascript 숫자 야구 게임이란 2명이 서로가 생각한 숫자를 맞추는 게임입니다. 각자 서로 다른 1~9까지 3자리 임의의 숫자를 정한 뒤 서로에게 3자리의 숫자를 불러서 결과를 확인합니다. 그리고 그 결과를 토대로 상대가 정한 숫자를 예상한 뒤 맞힙니다. 2019-09-25
LEVEL2_프로그래머스_타겟 넘버 Javascript 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 2019-09-23
LEVEL2_프로그래머스_위장 Javascript 스파이들은 매일 다른 옷을 조합하여 입어 자신을 위장합니다. 예를 들어 스파이가 가진 옷이 아래와 같고 오늘 스파이가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야 합니다. 2019-09-21
LEVEL2_프로그래머스_다리를 지나는 트럭 Javascript 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 2019-09-20
LEVEL3_프로그래머스_야근 지수 Javascript 회사원 Demi는 가끔은 야근을 하는데요, 야근을 하면 야근 피로도가 쌓입니다. 야근 피로도는 야근을 시작한 시점에서 남은 일의 작업량을 제곱하여 더한 값입니다. 2019-09-17
LEVEL2_프로그래머스_JadenCase 문자열 만들기 Javascript JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 2019-09-15
LEVEL2_프로그래머스_피보나치 수 Javascript 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 2019-09-15
allAnagrams Javascript Create a hash table with insert(), retrieve(), and remove() methods. Be sure to handle hashing collisions correctly. 2019-09-08
linkedListCycles Javascript Create a hash table with insert(), retrieve(), and remove() methods. Be sure to handle hashing collisions correctly. 2019-09-07
hashTableResizing Javascript Create a hash table with insert(), retrieve(), and remove() methods. Be sure to handle hashing collisions correctly. 2019-09-06
eventingLibrary Javascript In England the currency is made up of pound, £, and pence, p, and there are eight coins in general circulation, 2019-09-05
coinSums Javascript In England the currency is made up of pound, £, and pence, p, and there are eight coins in general circulation, 2019-09-04
telephoneWords Javascript Extend the Number prototype with a new method called `toEnglish`. 2019-09-03
numberToEnglish Javascript Extend the Number prototype with a new method called `toEnglish`. 2019-09-02
treeMap Javascript Implement a 'map' method on this Tree class. Map accepts a mapping function as its only argument. 2019-08-29
sumArray Javascript Given an array of numbers, calculate the greatest contiguous(not be off) sum of elements in array. A single array item will count as a contiguous sum. 2019-08-28
characterFrequency Javascript Write a function that takes as its input a string and returns an array of arrays as shown below sorted in descending order by frequency and then by ascending order by character. 2019-08-27
insertionSort Javascript Insertion sort is a basic sorting algorithm. Insertion sort iterates over an array, growing a sorted array behind the current location. It takes each element from the input and finds the spot, up to the current point, where that element belongs. 2019-08-26
primeTester Javascript A prime number is a whole number that has no other divisors other than itself and 1. Write a function that accepts a number and returns true if it's a prime number, false if it's not. 2019-08-25
evenOccurrence Javascript Find the first item that occurs an even number of times in an array. Remember to handle multiple even-occurrence items and return the first one. Return null if there are no even-occurrence items. 2019-08-24
treeCountLeaves Javascript Implement the `countLeaves` function in this Tree class. A leaf node is any node in the tree that has no children. `countLeaves` should traverse the tree, and return the number of leaf nodes the tree contains. 2019-08-22
robotPaths Javascript A robot located at the top left corner of a 5x5 grid is trying to reach the bottom right corner. The robot can move either up, down, left, or right, but cannot visit the same spot twice. 2019-08-21
queueStack Javascript Write a stack using your preferred instantiation pattern. Avoid using native array methods i.e., push, pop, and length. 2019-08-19
linkedList Javascript Implement a linked list using the pseudoclassical instantiation pattern. Your linked list should have methods called "addToTail", "removeHead", and "contains." 2019-08-18
romanNumeralTranslator Javascript Given an array containing a deck of cards, implement a function that shuffles the deck. 2019-08-16
shuffleDeck Javascript Given an array containing a deck of cards, implement a function that shuffles the deck. 2019-08-15
rotateMatrix Javascript Write a function that rotates a NxN matrix 90 degrees. A matrix, also called a 2-D array, is simply an array of arrays of values. 2019-08-14
fractionConverter Javascript Write a function that takes a number as its argument and returns a string that represents that number's simplified fraction. 2019-08-13
mergeSort Javascript Mergesort uses a divide-and-conquer strategy. It begins by treating the input list of length N as a set of N "sublists" of length 1, which are considered to be sorted. Adjacent sublists are then "merged" into sorted sublists of length 2, which are merged into sorted sublists of length 4, and so on, until only a single sorted list remains. 2019-08-12
longestRun Javascript Write a function that, given a string, Finds the longest run of identical characters and returns an array containing the start and end indices of that run. If there are two runs of equal length, return the first one. 2019-08-11
asyncMap Javascript Implement the function asyncMap. AsyncMap has two parameters, an array of asynchronous functions (tasks) and a callback. 2019-08-09
LEVEL3_프로그래머스_베스트앨범 Python 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 2019-08-09
balancedParens Javascript Write a function that takes a string of text and returns true if the parentheses are balanced and false otherwise. 2019-08-08
binarySearchArray Javascript Given a sorted array, find the index of an element using a binary search algorithm. 2019-08-07
composePipe Javascript Write Compose and Pipe functions. Compose should return a function that is the composition of a list of functions of arbitrary length. Each function is called on the return value of the function that follows. 2019-08-06
treeBFSelect Javascript Implement a `BFSelect` method on this Tree class. BFSelect accepts a filter function, calls that function on each of the nodes in Breadth First order, and returns a flat array of node values of the tree for which the filter returns true. 2019-08-05
LEVEL2_프로그래머스_124 나라의 숫자 Javascript 124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 2019-08-05
powerSet Javascript Return an array with the power set of a given string. Definition of power set. The set of all possible subsets including the empty set. 2019-07-26
rotatedArraySearch Javascript Given a sorted array that has been rotated some number of items right or left, i.e. [0, 1, 2, 3, 4, 5, 6, 7] might become [4, 5, 6, 7, 0, 1, 2, 3] 2019-07-25
deepEquality Javascript Write a function that, given two objects, returns whether or not the two are deeply equivalent 2019-07-24
LEVEL2_프로그래머스_카펫 Javascript Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 빨간색으로 칠해져 있고 모서리는 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. 2019-07-24
largestProductOfThree Javascript Write a function that finds the largest possible product of any three numbers from an array. 2019-07-23
commonCharacters Javascript Write a function f(a, b) which takes two strings as arguments and returns a string containing the characters found in both strings (without duplication), in the order that they appeared in a. 2019-07-23
bubbleSort Javascript Bubble sort is the most basic sorting algorithm in all of Computer Sciencedom. 2019-07-22
LEVEL2_프로그래머스_주식가격 Python 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 2019-07-22
프로그래머스_문자열대소문자 Python 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 2019-07-21
프로그래머스_개인정보보호 Python 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 2019-07-21
nthFibonacci Javascript A Fibonacci sequence is a list of numbers that begins with 0 and 1, and each subsequent number is the sum of the previous two. 2019-07-21
isSubsetOf Javascript Make an array method that can return whether or not a context array is a subset of an input array. 2019-07-20
LEVEL2_프로그래머스_더 맵게 Python 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 2019-07-20
ToyProblem_02_nonrepeatedCharacter Javascript Given an arbitrary input string, return the first nonrepeated character in the string. 2019-07-19
LEVEL2_프로그래머스_탑 Javascript 수평 직선에 탑 N대를 세웠습니다. 모든 탑의 꼭대기에는 신호를 송/수신하는 장치를 설치했습니다. 발사한 신호는 신호를 보낸 탑보다 높은 탑에서만 수신합니다. 또한, 한 번 수신된 신호는 다른 탑으로 송신되지 않습니다. 2019-07-18
LEVEL1_프로그래머스_같은 숫자는 싫어 Python 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 2019-07-18
LEVEL2_프로그래머스_문자열 내 p와 y의 개수 Python 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 2019-07-17
LEVEL2_프로그래머스_H-Index Javascript H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 2019-07-17
LEVEL1_프로그래머스_제일 작은 수 제거하기 Python 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 2019-07-16
LEVEL2_프로그래머스_올바른 괄호 Javascript 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 2019-07-15
LEVEL2_프로그래머스_프린터 Javascript 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 2019-07-14
LEVEL2_프로그래머스_스킬트리 Javascript 선행 스킬이란 어떤 스킬을 배우기 전에 먼저 배워야 하는 스킬을 뜻합니다. 예를 들어 선행 스킬 순서가 스파크 → 라이트닝 볼트 → 썬더일때, 썬더를 배우려면 먼저 라이트닝 볼트를 배워야 하고, 라이트닝 볼트를 배우려면 먼저 스파크를 배워야 합니다. 2019-07-13
LEVEL1_프로그래머스_K번째수 Javascript 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 2019-07-12
LEVEL1_프로그래머스_완주하지 못한 선수 Javascript 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 2019-07-11