본문 바로가기

코딩테스트 54

[백준] 2109번 순회강연- 자바스크립트 [ 문제 설명 ] 2109번: 순회강연 한 저명한 학자에게 n(0 ≤ n ≤ 10,000)개의 대학에서 강연 요청을 해 왔다. 각 대학에서는 d(1 ≤ d ≤ 10,000)일 안에 와서 강연을 해 주면 p(1 ≤ p ≤ 10,000)만큼의 강연료를 지불하겠다고 알려왔다. www.acmicpc.net [ 아이디어 ] 일단 가장 비싼 강의 순으로 정렬 DeadLine(d)일 안에서만 하면 Price(p)를 주지만 빨리 한다고 돈 많이 주는 건 아니므로, 늦게 할 수 있으면 최대한 늦게 강의를 한다.-> 즉 데드라인 기준일부터 계산하여 하루씩 차감( 그 사이에 다른일이 들어온다면 먼저 하기 위함) [ 코드 ] // input 파싱 let input = require("fs").readFileSync("/dev.. 2022. 5. 16.
[프로그래머스] 이진 변환 반복하기 - 자바스크립트 [ 문제 설명 ] 코딩테스트 연습 - 이진 변환 반복하기 programmers.co.kr [ 아이디어 ] 1레벨인데 오랜만에 풀겸 그리고 프로그래머스의 불편함으로 잠깐 글을 적는다. 아이디어는 아래의 로직을 반복하면 된다. [ 코드 ] function solution(s) { let zeroCount = 0; let transformCount = 0; while (s > 1) { let temp = s.length; s = s.replace(/0/g, ""); zeroCount += temp - s.length; s = s.length.toString(2); transformCount++; } return [transformCount, zeroCount]; } 원래라면 replaceAll를 써서 할수가 .. 2021. 12. 6.
[프로그래머스] 땅따먹기 - 자바스크립트 [ 문제 설명 ] 코딩테스트 연습 - 땅따먹기 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟 programmers.co.kr [ 아이디어 ] 완전 탐색 기법으로 푼다 색다른 로직을 활용해 푼다. [ 코드 ] 1. 완전 탐색 기법으로 푼다. 아이디어의 경우 갈 수 있는 모든 경로를 사전에 생성하고 하나씩 비교하면서 가장 큰 값을 찾는 로직입니다. permutation을 이용해 모든 경로를 생성하고 availPath 함수를 통해 갈 수 있는 경로만 최대값을 계산합니다. 테스트는 통과했지만 실행결과 시간초과가 뜨고 말았습니다. function solut.. 2021. 9. 3.
[프로그래머스] 행렬의 곱셈 - 자바스크립트 [ 문제 설명 ] 코딩테스트 연습 - 4주차 개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부 programmers.co.kr [ 아이디어 ] 일단 answer 배열에 크기에 맞게 0으로 초기화 2중 for문으로 돌고 각 행렬의 곱셈은 배열 메소드 체이닝을 통해 처리 [ 코드 ] function solution(arr1, arr2) { var answer = Array.from(Array(arr1.length), () => Array(arr2[0].length).fill(0)); for (let i = 0; i < arr1.length; i++) { for (let j.. 2021. 8. 30.