| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- 자바스크립트
- Leetcode #javascript #알고리즘 #Algorithms #js
- 통신망분석
- jest
- ResizeObserver
- 호텔 대실
- Google 애널리틱스
- mock date
- 테스트 Date
- Jest uuid syntax
- Hermes Engine
- 최솟갑 구하기
- 귤 고르기
- mutationobserver
- nextjs-performance
- nextjs
- 구름톤챌린지
- 구름톤 챌린지
- create-next-app
- 리액트네이티브
- 연결 요소 제거하기
- 프로그래머스
- 리액트네이티브 엔진
- 날짜 테스트
- 헤르메스 엔진
- JavaScript
- 구름톤
- 테이블 해시 함수
- 중첩 점
- 과제 진행하기
- Today
- Total
목록Algorithms (53)
나만보는개발공부블로그
문제 밤늦게 귀가할 때 안전을 위해 항상 택시를 이용하던 무지는 최근 야근이 잦아져 택시를 더 많이 이용하게 되어 택시비를 아낄 수 있는 방법을 고민하고 있습니다. "무지"는 자신이 택시를 이용할 때 동료인 어피치 역시 자신과 비슷한 방향으로 가는 택시를 종종 이용하는 것을 알게 되었습니다. "무지"는 "어피치"와 귀가 방향이 비슷하여 택시 합승을 적절히 이용하면 택시요금을 얼마나 아낄 수 있을 지 계산해 보고 "어피치"에게 합승을 제안해 보려고 합니다. 위 예시 그림은 택시가 이동 가능한 반경에 있는 6개 지점 사이의 이동 가능한 택시노선과 예상요금을 보여주고 있습니다. 그림에서 A와 B 두 사람은 출발지점인 4번 지점에서 출발해서 택시를 타고 귀가하려고 합니다. A의 집은 6번 지점에 있으며 B의 집..
문제 당신이 다니는 학교는 매년 체육대회를 합니다. 체육대회는 여러 종목에 대해 각 반의 해당 종목 대표가 1명씩 나와 대결을 하며, 한 학생은 최대 한개의 종목 대표만 할 수 있습니다. 당신의 반에서도 한 종목당 1명의 대표를 뽑으려고 합니다. 학생들마다 각 종목에 대한 능력이 다르지만 이 능력은 수치화되어 있어 미리 알 수 있습니다. 당신의 반의 전략은 각 종목 대표의 해당 종목에 대한 능력치의 합을 최대화하는 것입니다. 다음은 당신의 반 학생이 5명이고, 종목의 개수가 3개이며, 각 종목에 대한 학생들의 능력치가 아래 표와 같을 때, 각 종목의 대표를 뽑는 예시입니다. 테니스 탁구 수영 석환 40 10 10 영재 20 5 0 인용 30 30 30 정현 70 0 70 준모 100 100 100 테니스..
문제 알파벳 소문자로만 이루어진 어떤 문자열에서, 2회 이상 나타난 알파벳이 2개 이상의 부분으로 나뉘어 있으면 외톨이 알파벳이라고 정의합니다. 문자열 "edeaaabbccd"를 예시로 들어보면, a는 2회 이상 나타나지만, 하나의 덩어리로 뭉쳐있으므로 외톨이 알파벳이 아닙니다. "ede(aaa)bbccd" b, c도 a와 같은 이유로 외톨이 알파벳이 아닙니다. d는 2회 나타나면서, 2개의 부분으로 나뉘어 있으므로 외톨이 알파벳입니다. "e(d)eaaabbcc(d)" e도 d와 같은 이유로 외톨이 알파벳입니다. 문자열 "eeddee"를 예시로 들어보면, e는 4회 나타나면서, 2개의 부분으로 나뉘어 있으므로 외톨이 알파벳입니다. "(ee)dd(ee)" d는 2회 나타나지만, 하나의 덩어리로 뭉쳐있으므로..
문제 7%의 소금물 Ng이 있다. 이 소금물에 Mg만큼의 물을 넣었을 때, 소금물의 농도를 소수 2번째 자리까지 표현하고, 나머지는 버리고 출력하시오. 입력 예시 1000 1000 출력 예시 3.50 자바스크립트 코드 // Run by Node.js const readline = require('readline'); let rl = readline.createInterface({ input: process.stdin, output: process.stdout }); const input = []; rl.on('line', (line)=> { input.push(line); }).on('close', () => { const [n,m] = input[0].split(" ").map(Number); cons..
문제 N x N 크기의 2차원 배열이 있다. 2차원 배열의 i행 j열에 해당하는 칸은 (i,j)로 나타낸다. 처음에 이 배열의 각 칸에는 알파벳 대문자 또는 . 문자가 하나 적혀있다. 상하좌우로 인접한 두 칸에 같은 문자가 적혀있는 경우, 두칸은 연결되어있다고 한다. 서로 연결된 칸들의 집합을 연결 요소라고 하고, 연결 요소의 크기는 그 연결 요소에 포함된 칸들의 개수와 같다. 구름이는 아래 작업을 Q번 수행하려고 한다. 1. (y,x)칸을 고른뒤, 그 칸에 알파벳 대문자 d를 쓴다. 구름이가 고른 칸은 . 문자가 적힌 칸임을 보장된다. 2. 배열에 존재하는 모든 연결 요소의 크기를 계산한다. 만약 크기가 K이상인 연결요소가 존재한다면, 그 연결 요소에 포함된 모든 칸에 적힌 문자를 지운다. 모든 작업을..
문제 플레이어는 1번부터 N번까지의 번호가 붙은 N개의 도시와 M개의 도로가 있는 나라에 살고 있다. 각 도로는 서로 다른 두 도시를 양방향으로 연결하고 있고, 주어진 도로만을 이용해 임의의 두 도시 사이를 이동하는 것이 가능하다. 플레이어는 차를 타고 S번 도시에서 E번 도시로 이동하려고 한다. 플레이어가 두 도시 사이를 이동할 때는 항상 가장 작은 수의 도시를 거치는 경로를 따라 이동한다. 플레이어가 사는 나라에서는 자주 공사를 한다 i일 뒤에는 i번 도시에서 하루동안 공사를 할 예정이다. 어떤 도시에서 공사를 하고 있으면 그 도시에 연결된 모든 도로를 일시적으로 사용할 수 없다. 앞으로 N일 동안 매일 플레이어는 S번 도시에서 E번 도시로 이동한다고 할 때, 각 날마다 플레이어가 이동하는 경로에 포..