js
Programmers / Level 2 / [1차] 뉴스 클러스터링 / JS
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr /** * 문자열을 받아서 알파벳으로만 이루어진 문자열인지 확인하는 함수 * @param {string} str * @returns {boolean} 알파벳으로만 이루어졌다면 true, 그 외 false */ function isAlphabet(str) { const REGEX = /^[a-z|A-Z]+$/; return REGEX.test(str); } /** * 문자열을 받아서 두 글자씩 잘라서 반환하는 함수 * @param {string} str * @returns {string[]..
Programmers / Level 2 / [1차] 프렌즈4블록 / JS
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr /** * 2차원 배열을 받아서 오른쪽으로 90도 회전하는 함수 * * @param {number} row 행의 개수 * @param {number} col 열의 개수 * @param {(string | boolean)[][]} matrix 2차원 배열 * @returns {(string | boolean)[][]} 오른쪽으로 90도 회전한 2차원 배열 */ function rotate(row, col, matrix) { let result = []; for (let j = 0; j < ..
Programmers / Level 1 / 옹알이 (2) / JS
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function isPossible(babbling) { // 가능한 발음 리스트 const possibleList = ['aya', 'ye', 'woo', 'ma']; // 가능한 발음 리스트에 있는 발음이라면 해당 인덱스로 바꿔줌 possibleList.forEach((el, idx) => { babbling = babbling.replaceAll(el, idx); }); for (let i = 0; i < babbling.length; i += 1) { // 연속된 발음이라면 fal..
백준 / 이분 탐색 / 16401번 / 과자 나눠주기 / JS
16401번: 과자 나눠주기 첫째 줄에 조카의 수 M (1 ≤ M ≤ 1,000,000), 과자의 수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 과자 N개의 길이 L1, L2, ..., LN이 공백으로 구분되어 주어진다. 과자의 길이는 (1 ≤ L1, L2, ..., LN ≤ 1, www.acmicpc.net /* 과자 나눠주기 */ const fs = require('fs'); const filePath = process.platform === 'linux' ? '/dev/stdin' : '../input.txt'; // const filePath = process.platform === 'linux' ? '/dev/stdin' : 'BOJ/input.txt';..
백준 / 그래프 - DFS / 13565번 / 침투 / JS
13565번: 침투 첫째 줄에는 격자의 크기를 나타내는 M (2 ≤ M ≤ 1,000) 과 N (2 ≤ N ≤ 1,000) 이 주어진다. M줄에 걸쳐서, N개의 0 또는 1 이 공백 없이 주어진다. 0은 전류가 잘 통하는 흰색, 1은 전류가 통하지 않 www.acmicpc.net const fs = require('fs'); const filePath = process.platform === 'linux' ? '/dev/stdin' : '../input.txt'; // const filePath = process.platform === 'linux' ? '/dev/stdin' : 'BOJ/input.txt'; const input = fs.readFileSync(filePath).t..
백준 / 그래프 - BFS / 1926번 / 그림 / JS
https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net const fs = require('fs'); const filePath = process.platform === 'linux' ? '/dev/stdin' : '../input.txt'; // const filePath = process.platform === 'linux' ? '/dev/stdin' : 'BOJ/input.txt'; const input = fs.readFileSync(filePath..