[JavaScript/프로그래머스] 그래프 - 방의 개수
·
Coding Test/Programmers_JavaScript
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 번호에 따른 이동 방향을 미리 정해두고 대각선 방향의 경우에는 두 번에 걸쳐 이동하도록 설계하였습니다. function solution(arrows) { let answer = 0; // 방의 개수를 저장할 변수 // 각 방향에 따른 좌표 변화를 저장한 배열 // prettier-ignore const move = [ [-1, 0], [-1, 1], [0, 1], [1, 1], [1, 0], [1, -1], [0, -1], [-1, -1] ]; let vertexVisited = new ..
[JavaScript/프로그래머스] 그래프 - 순위
·
Coding Test/Programmers_JavaScript
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 Array.from()을 이용하여 초기에 크기가 정해진 배열을 생성해두는 데 사용하였습니다. function solution(n, results) { let answer = 0; // 정확하게 순위를 매길 수 있는 선수의 수를 저장하는 변수 // n+1 크기의 2차원 배열 생성. 모든 값은 false로 초기화 let graph = Array.from({ length: n + 1 }, () => Array(n + 1).fill(false)); // results 배열을 순회하며 승리한 선수..
[JavaScript/프로그래머스] 그래프 - 가장 먼 노드
·
Coding Test/Programmers_JavaScript
문제 링크 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 정답 코드Array.from(); JavaScript ES6에 등장한 문법으로, 이 코드에서는 length에 할당된 길이만큼의 빈 배열을 만드는 데 사용되었습니다.// edge = [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] function solution(n, edge) { // graph 배열을 초기화. 각 노드와 그 노드에 연결된 다른 노드들의 정보를 저장할 예정. const graph = Array.from({ length: n + 1 }..
[JavaScript/프로그래머스] 코딩 기초 트레이닝 - Day 1 ~ Day 25 까지
·
Coding Test/문제.zip
캘린더를 완성한 이후 풀었던 모든 문제들을 이 글에 담아 올립니다. 가장 최적화된 코드로 푼 것은 아니기에 코드를 본 후 본인만의 방법으로 코드를 재구성해보는 건 어떨까요? 문제를 풀어보고 싶다면? 코딩 기초 트레이닝 | 프로그래머스 스쿨 프로그래밍 언어를 처음 접하거나 프로그래밍 언어에 익숙해지고 싶다면? 코딩 역량을 탄탄하게 길러주는 코딩 기초 트레이닝으로 차근차근 코딩에 대한 기초 감각을 길러 보세요. school.programmers.co.kr Day 1 - 출력 문자열 출력하기 const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }..
[JavaScript/프로그래머스] 연습문제 - 덧칠하기
·
Coding Test/Programmers_JavaScript
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 정답 코드 - 로직 설명 주석 // 함수 solution은 세 개의 매개변수를 받습니다. // n: 전체 섹션의 개수 (정수) // m: 한 번에 처리할 수 있는 섹션의 범위 (정수) // section: 처리해야 할 섹션의 목록 (정수 배열) function solution(n, m, section) { // count는 처리된 섹션의 개수를 저장합니다. let count = 0; // location은 현재 처리 위치를 저장합니다. let location = 0; // section 배열의..
[JavaScript/프로그래머스] 연습문제 - 기사단원의 무기
·
Coding Test/Programmers_JavaScript
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 정답 코드 - 소인수분해 로직 사용 기존 우리가 알고 있던 약수를 구하는 가장 기본적인 for 문 로직으로는 시간 초과가 발생하였습니다. 그래서 소인수분해를 통해 얻은 각 인수들의 지수+1 을 더하는 로직을 사용하여 문제를 해결했습니다. function solution(number, limit, power) { let answer = 1; // 소인수 분해 함수 정의 function primeFactorization(num) { const factors = {}; let divisor = 2;..