문제 설명 Given a string containing digits from inclusive, return all possible letter combinations that the number could represent. Return the answer in any order. A mapping of digit to letters (just li…
문제 설명 Let’s play the minesweeper game (Wikipedia, online game)! You are given a 2D char matrix representing the game board. ‘M’ represents an unrevealed mine, ‘E’ represents an unrevealed empty squar…
문제 설명 Given the of a binary tree, check whether it is a mirror of itself (i.e., symmetric around its center). Example 1: img Example 2: img Constraints: The number of nodes in the tree is in the ran…
문제 설명 Maximum Depth of N-ary Tree Given a n-ary tree, find its maximum depth. The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node. Nary-T…
문제 설명 아래와 같이 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개의 섬 사이에 다리를 건설하는 비용(costs)이 주어질 때, 최소의 비용으로 모든 섬이 서로 통행 가능하도록 만들 때 필요한 최소 비용을 return 하도록 solution을 완성하세요. 다리를 여러 번 건너더라도, 도달할 수만 있으면 통행 가능하다고 봅니다. 예를 들어 A 섬과 B 섬 사이에 다리가 있고, B 섬과 C 섬 사이에 다리가 …
문제 설명 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 예를 들어, 4개의 문서(A, B, C, D)가 순서대로 인쇄 대기목록…
나의 풀이 소스 설명 H-index 구하는 공식은 위키에 있다. 정렬 후 큰 수부터 카운팅을 해가면서 카운팅한 수와 다음 수가 같으면 끝마치면 된다. 다만, 0,0,0 => 0 99 => 1 5,5,5,5,5 => 5 에 대한 TEST CASE만 충족시키도록 예외처리를 해야 한다. 다른사람의 풀이 compare 함수를 익명함수로 했으면 어땠을까 하지만 …
문제설명 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. carpet.png Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다. Leo가 본 카펫에서 갈색 격자의 수 brown, …
* 이 글은 Vanilla Coding - BootCamp 9기 1주차 강의 수강 후 적은 글입니다. 객체지향 프로그래밍이란? 객체지향 프로그래밍 (OOP: Object Oriented Programming)이란 프로그래밍을 설계하는 방식중에 하나이다. 우리가 프로그래밍을 하는 것은 결국 본질적으로 컴퓨터, 즉 프로그램에게 어떻게 작동해야되는가에 대한 서…
문제 설명 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 예를 들어 begin이 hit, target가 cog, words가 hot,dot,dog,lot,log,cog라면 hit -> hot -> dot -> dog …
문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 6, 10, 2라면 6102, 6210, 1062, 1026, 2610, 2106를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치…
❗️ 객체 불변성 자바스크립트에서 객체 불변성은 특히나 더 중요시되고 있는데, 이 객체불변성(Immutability)은 함수형 프로그래밍의 핵심원리 이다. 따라서 완벽하진않지만 함수형프로그래밍을 할 수 있는 자바스크립트에서 함수형프로그래밍을 하기 위해 사용하고 있으며, 특히나 리액트와 같은 프레임워크를 사용하게 되면 VirtualDOM의 작동 특성상 객체 …
문제 설명 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼…
문제 설명 스파이들은 매일 다른 옷을 조합하여 입어 자신을 위장합니다. 예를 들어 스파이가 가진 옷이 아래와 같고 오늘 스파이가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야 합니다. 종류 이름 얼굴 동그란 안경, 검정 선글라스 상의 파란색 티셔츠 하의 청바지 겉옷 긴 …
객체 복사란? 객체 지향 프로그래밍에서 객체 복사는 객체의 사본을 생성하는 것이다. 일반적으로 참조값을 가지고 있는 객체에서 단순한 할당작업을 거칠경우, 객체 자체가 복사되는게 아닌 그 참조값이 할당된다. 이는 객체 복사라고 볼 수 없고 동일 객체를 참조하는 변수가 하나 더 늘어났다고 밖에 볼 수 없다. 마지막줄을 보면 와 가 같기 때문에 얼핏봐서는 …
문제 설명 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이는 bridge_length이고 다리는 무게 weight까지 견딥니다. ※ 트럭이 다리에 완전히 오르지 않은 경우, 이 트럭의 무게는 고려하지 않습니다. 예…
문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 …
* 이 글은 Vanilla Coding - BootCamp 9기 1주차 강의 수강 후 적은 글입니다. Asynchronous? 웹 프론트, 백엔드와 더불어 모든 곳에서 Javascript(node.js)를 사용한다면 빼놓을 수 없는 것이 또 비동기 프로그래밍일 것이다. 특히, 웹 브라우저와 자바스크립트에 있어서 이 비동기 개념을 이해하는 것이 상당히 중요…
this? 모든 프로그래밍 언어를 통틀어서 키워드는 빼놓지 않고 나오는 단골 키워드로 주로 메서드 내부에서 사용되어 메서드를 호출 한 객체 인스턴스를 의미한다. 대부분의 언어에서 는 의미와 사용처가 제한적인것에 반해, Javascript에서는 는 좀 더 다양하고 다르게 동작한다. javascript의 는 코드상의 어느 곳에서나 쓸 수 있고 의미도 사용하…
* 이 글은 MDN, Vanilla Coding Prep 강의자료, PoiemaWeb등 공신력있는 곳들을 참조한 글입니다. Prototype? 프로토타입은 자바스크립트를 작동시키는 근간이 되는 개념중 하나이다. 이 프로토타입의 동작 원리를 알아야 MDN에서 와 같은 표준 내장객체의 prototype 메서드들의 원리와 객체(Object) 상속 원리를 이해…
* 이 글은 MDN, Vanilla Coding Prep 강의자료, PoiemaWeb등 공신력있는 곳들을 참조한 글입니다. Closure? 클로저(closure)는 내가 Javascript 주요 개념중에서 가장 이해하기 어려웠던 내용 일 것 같다. 간단한 예제는 이해하기 쉬웠지만, Curying과 Memoization 등 다양한 기법들이 첨가되면서 점점 …
* 이 글은 MDN, Vanilla Coding Prep 강의자료, PoiemaWeb등 공신력있는 곳들을 참조한 글입니다. Hoisting? 우선, 영단어 의 원형인 라는 단어의 뜻부터 알아보자. 감아 올리기, (밧줄이나 장비를 이용하여) 들어끌어올리다 (화물장애인을 들어올리기 위한)승강 장치 이 처럼 Hoisting이라는 의미는 위로 끌어올리다 라는 뜻…
* 이 글은 MDN, Vanilla Coding Prep 강의자료, PoiemaWeb등 공신력있는 곳들을 참조한 글입니다. Scope? 위키백과에 따르면 프로그래밍에 있어서 Scope는 변수가 유효성을 갖는 영역을 가리킨다고 한다. 이 말인 즉슨, 각 식별자 즉, 변수는 선언시 사용할 수 있는 영역이 생기게 되는데, 이 영역에서만 변수를 사용할 수 있고 …
* 이 글은 MDN, Vanilla Coding Prep 강의자료, PoiemaWeb등 공신력있는 곳들을 참조한 글입니다. DOM이란 무엇인가? MDN에서는 DOM을 이렇게 정의하고 있다. 문서 객체 모델(Document Object Model)은 HTML, XML 문서의 프로그래밍 인터페이스이다. 이 한 문장으로 DOM이 무엇인지 알 수 있는데, 여기서…
문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 1, 5, 2, 6, 3, 7, 4, i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 5, 2, 6, 3입니다. 1에서 나온 배열을 정렬하면 2, 3, 5, 6입니다. 2에서 나온 …
* 이 글은 MDN, Vanilla Coding Prep 강의자료, PoiemaWeb등 공신력있는 곳들을 참조한 글입니다. 자료형 (Type)이란? 자료형은 위키 백과에서는 다음과 같이 표현하고 있다. 자료형(資料形) 또는 데이터 타입(data type)은 컴퓨터 과학과 프로그래밍 언어에서 실수치, 정수, 불린 자료형 따위의 여러 종류의 데이터를 식별하는…