본문 바로가기

javascript114

프로그래머스 코딩테스트 연습 Level 2 - 다리를 지나는 트럭 (JavaScript) 프로그래머스 코딩테스트 연습 Level 2 - 다리를 지나는 트럭 (JavaScript) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 2 중 Queue(큐) 관련 문제인, [다리를 지나는 트럭] 문제를 JavaScript를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 수 있으며, 다리는 weight 이하까지의 무게를 견딜 수 있습니다. 단, 다리에 완전히 오르지 않은 트럭의 무게는 무시합니다. 예를 들어, 트럭 2대가 올라갈 수 있고 무게를 10kg까지 견디는 다리가 있습니다.. 2023. 1. 3.
프로그래머스 코딩테스트 연습 Level 2 - 프린터 (JavaScript) 프로그래머스 코딩테스트 연습 Level 2 - 프린터 (JavaScript) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 2 중 큐 관련 문제인, [프린터] 문제를 JavaScript를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마.. 2023. 1. 2.
JavaScript Debounce(디바운스), Throttle(스로틀) 이란? (구현 방법 포함) JavaScript Debounce(디바운스), Throttle(스로틀) 이란? (구현 방법 포함) 서비스를 만들어가면서 프론트엔드 작업을 하게 되면 사용자들과의 상호작용을 위해 JavaScript로 다양한 이벤트에서 다양한 동작이 이루어지는 작업을 하게 됩니다. 가령 특정 검색어를 입력하는 Input에서 검색어를 입력했을 때 자동완성 또는 연관검색어를 보여줄 때, 스크롤을 하는 과정에서 특정 동작을 하고 싶을 때 등 다양한 이벤트에 따라 다양한 기능을 사용자분들에게 제공할텐데요. 만약, 특정 검색어를 입력하는 Input에서 검색어를 입력했을 때 자동완성 또는 연관검색어를 보여주는 기능을 만들고 있는데 keydown 이벤트로 입력할 때 마다 자동완성 또는 연관검색어를 찾아주는 것이 아니라 어느정도 입력이.. 2022. 12. 16.
프로그래머스 코딩테스트 연습 Level 2 - 기능개발 (JavaScript) 프로그래머스 코딩테스트 연습 Level 2 - 기능개발 (JavaScript) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 2 중 스택/큐 관련 문제인, [기능개발] 문제를 JavaScript를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 .. 2022. 12. 1.
프로그래머스 코딩테스트 연습 Level 2 - 피로도 (JavaScript) 프로그래머스 코딩테스트 연습 Level 2 - 피로도 (JavaScript) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 2 중 완전탐색, 깊이 우선 탐색(DFS) 관련 문제인, [피로도] 문제를 JavaScript를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던전 탐험을 마쳤을 때 소모되는 "소모 피로도"가 있습니다. "최소 필요 피로도"는 해당 던전을 탐험하기 위해 가지고 있어야 하는 최소한의 피로도를 나타내며, "소모 피로도"는 던전을 탐험한 후 소모되는 피로도를 나타냅니다. 예.. 2022. 11. 30.
프로그래머스 코딩테스트 연습 Level 2 - 소수 찾기 (JavaScript) 프로그래머스 코딩테스트 연습 Level 2 - 소수 찾기 (JavaScript) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 2 중 완전탐색, 깊이 우선 탐색(DFS) 관련 문제인, [소수 찾기] 문제를 JavaScript를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습.. 2022. 11. 29.
프로그래머스 코딩테스트 연습 Level 3 - 여행경로 (JavaScript/Python) 프로그래머스 코딩테스트 연습 Level 3 - 여행경로 (JavaScript/Python) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 3 중 깊이/너비 우선 탐색(DFS/BFS) 관련 문제인, [여행경로] 문제를 JavaScript 와 Python를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 주어진 항공권을 모두 이용하여 여행경로를 짜려고 합니다. 항상 "ICN" 공항에서 출발합니다. 항공권 정보가 담긴 2차원 배열 tickets가 매개변수로 주어질 때, 방문하는 공항 경로를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 모든 공항은 알파벳 대문자 3글자로 이루어집니다. 주어진 공항 수는 3개 이상 10,000개 이하입니다. tickets.. 2022. 11. 25.
프로그래머스 코딩테스트 연습 Level 3 - 단어 변환 (JavaScript/Python) 프로그래머스 코딩테스트 연습 Level 3 - 단어 변환 (JavaScript/Python) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 3 중 깊이/너비 우선 탐색(DFS/BFS) 관련 문제인, [단어 변환] 문제를 JavaScript 와 Python를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. 2. words에 있는 단어로만 변환할 수 있습니다. 예를 들어 begin이 "hit", target가 "cog", words가 ["hot",".. 2022. 11. 24.
프로그래머스 코딩테스트 연습 Level 3 - 네트워크 (JavaScript/Python) 프로그래머스 코딩테스트 연습 Level 3 - 네트워크 (JavaScript/Python) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 3 중 깊이/너비 우선 탐색(DFS/BFS) 관련 문제인, [네트워크] 문제를 JavaScript 와 Python를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정.. 2022. 11. 23.
프로그래머스 코딩테스트 연습 Level 2 - 게임 맵 최단거리 (JavaScript) 프로그래머스 코딩테스트 연습 Level 2 - 게임 맵 최단거리 (JavaScript) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 2 중 깊이/너비 우선 탐색(DFS/BFS) 관련 문제인, [게임 맵 최단거리] 문제를 JavaScript를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 ROR 게임은 두 팀으로 나누어서 진행하며, 상대 팀 진영을 먼저 파괴하면 이기는 게임입니다. 따라서, 각 팀은 상대 팀 진영에 최대한 빨리 도착하는 것이 유리합니다. 지금부터 당신은 한 팀의 팀원이 되어 게임을 진행하려고 합니다. 다음은 5 x 5 크기의 맵에, 당신의 캐릭터가 (행: 1, 열: 1) 위치에 있고, 상대 팀 진영은 (행: 5, 열: 5) 위치에 있는 경우의 예시입니다. 위 그.. 2022. 11. 16.
프로그래머스 코딩테스트 연습 Level 3 - 베스트앨범 (JavaScript/Python) 프로그래머스 코딩테스트 연습 Level 3 - 베스트앨범 (JavaScript/Python) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 3 중 해시(Hash) 관련 문제인, [베스트앨범] 문제를 JavaScript 와 Python를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. 노래의 장르를 나타내는 문자열 배열 gen.. 2022. 11. 15.
프로그래머스 코딩테스트 연습 Level 2 - 위장 (JavaScript/Python) 프로그래머스 코딩테스트 연습 Level 2 - 위장 (JavaScript/Python) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 2 중 해시(Hash) 관련 문제인, [위장] 문제를 JavaScript 와 Python를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 스파이들은 매일 다른 옷을 조합하여 입어 자신을 위장합니다. 예를 들어 스파이가 가진 옷이 아래와 같고 오늘 스파이가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야 합니다. 종류 이름 얼굴 동그란 안경, 검정 선글라스 상의 파란색 티셔츠 하의 청바지 겉옷 긴 코트 스파이가 가진 의상들이 담긴 2차원 배열 clothes가 주어질.. 2022. 11. 14.