본문 바로가기

자료구조 알고리즘/코딩테스트 풀이7

프로그래머스 소인수분해 문제 설명 소인수분해란 어떤 수를 소수들의 곱으로 표현하는 것입니다. 예를 들어 12를 소인수 분해하면 2 * 2 * 3 으로 나타낼 수 있습니다. 따라서 12의 소인수는 2와 3입니다. 자연수 n이 매개변수로 주어질 때 n의 소인수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 2 ≤ n ≤ 10,000 function isPrime(n) { if(n === 1) return false; for(let i = 2; i < n; i++) { if(n % i === 0) return false; } return true; } // 소수인지 확인하는 함수 function solution(n) { let answer = new Set(); for(let i = 2; i 2023. 3. 6.
프로그래머스 Lv0 최댓값 만들기(2) 문제 설명 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요. 제한사항 -10,000 ≤ numbers의 원소 ≤ 10,0002 ≤ numbers 의 길이 ≤ 100 접근방법 주어진 배열을 양수 배열과 음수 배열로 나눠서 처리해준다. 배열 내장 메서드인 sort로 각각의 음수양수 배열을 정렬해준다. (Math.max()도 괜찮을 듯) 음수 배열의 경우는 0번째, 1번째를 곱한 값이 최댓값이 될거고 양수 배열의 경우는 length-1과 length-2번째를 곱한 값이 최댓값이 될 것이다 음수나 양수가 없는 리스트가 주어질 수 있으므로 그 조건식으로 한차례 걸러준다. 대충 이렇게까지 했을 때 .. 2023. 2. 19.
프로그래머스 Lv0 직각삼각형 출력하기 프로그래머스 입문 문제 풀다가 처음 보는 개념을 발견해서 정리한다. 문제 자체는 쉬웠지만 console.log로만 출력하다가 개행이 되지 않는 출력법이 필요하여 서칭해보니 process.stdout.write()를 사용하면 개행이 되지 않고 출력이 가능하다. 문제 설명 "*"의 높이와 너비를 1이라고 했을 때, "*"을 이용해 직각 이등변 삼각형을 그리려고합니다. 정수 n 이 주어지면 높이와 너비가 n 인 직각 이등변 삼각형을 출력하도록 코드를 작성해보세요. 무슨 언어를 하든 별로 무언가 그리기는 기초 문제 같다. 제한사항 1 ≤ n ≤ 10 const readline = require('readline'); const rl = readline.createInterface({ input: process... 2023. 2. 19.
백준 5597번 과제 안 내신 분? const fs = require('fs'); // const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt"; // let inputArr = fs.readFileSync(filePath).toString(); let inputArr = fs.readFileSync(__dirname + '/input.txt').toString(); const stdAllCount = 30; // 1~30 let stdAllArray = []; for(let i = 0; i < stdAllCount; i++) { stdAllArray[i] = i + 1; } // [1, 2,..., 30] let stdArray = inputArr.split.. 2023. 2. 16.