본문 바로가기

전체 글109

[프로그래머스] 다리를 지나는 트럭 / Javascript 문제 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이 programmers.co.kr TRY function solution(bridge_length, weight, truck_weights) { // 다리배열을 다리 길이보다 하나 작게 0으로 채워서 만들고 // 마지막 요소에 첫 트럭을 넣는다 let bridge = new Array(bridge_length - 1).fill(0); bridge.push(truck_weights.shift()); // 트럭 하나가 이미 지났다고 가정해서 1초 지난 걸로 초기화 let tim.. 2021. 4. 29.
[프로그래머스] 위장 / Javascript 문제 코딩테스트 연습 - 위장 programmers.co.kr TRY const clothes1 = [ ['yellowhat', 'headgear'], ['bluesunglasses', 'eyewear'], ['green_turban', 'headgear'], ]; const clothes2 = [ ['crowmask', 'face'], ['bluesunglasses', 'face'], ['smoky_makeup', 'face'], ]; function solution(clothes) { // 옷의 종류와 종류별 갯수를 저장 할 객체 let obj = {}; for (let i = 0; i < clothes.length; i++) { // 옷의 종류가 정의 되지 않았으면 옷의 종류의 value = 1 i.. 2021. 4. 29.
[프로그래머스] 체육복 / Javascript 문제 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr TRY function solution(n, lost, reserve) { var answer = 0; // 학생 수 만큼 배열의 가지고 있는 유니폼 수를 1로 초기화 let hasUniform = new Array(n).fill(1); // 잃어버린 학생은 -1 을 해줌 for (let i = 0; i < lost.length; i++) { hasUniform[lost[i] - 1]--; } // 여벌이 있으면 +1 을 해줌 for (let i = 0; i.. 2021. 4. 28.
[프로그래머스] 모의고사 / Javascript 문제 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr TRY let answers = [1, 3, 2, 4, 2, 1, 3, 2, 4, 2, 1, 3, 2, 4, 2, 1, 3, 2, 4, 2]; function solution(answers) { let answer = []; // supo : 수포자 찍는 방식 let supo = [ [1, 2, 3, 4, 5], [2, 1, 2, 3, 2, 4, 2, 5], [3, 3, 1, 1, 2, 2, 4, 4, 5, 5], ]; // 수포자들의 점수를 넣을 배열 l.. 2021. 4. 28.
[프로그래머스] K번째수 / Javascript 문제 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr TRY 1 let array = [1, 5, 2, 6, 3, 7, 4]; let commands = [ [2, 5, 3], [4, 4, 1], [1, 7, 3], ]; function solution(array, commands) { var answer = []; for (let i = 0; i a - b)[commands[i][2] - 1.. 2021. 4. 27.
[프로그래머스] 완주하지 못한 선수 / Javascript 문제 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr TRY 1 (효율성 실패) let participant = ['mislav', 'stanko', 'mislav', 'ana']; // 참여 선수 let completion = ['stanko', 'ana', 'mislav']; // 완주한 선수 function solution(participant, completion) { for (let i = 0; i < completion.length; i++) { if (participant.in.. 2021. 4. 27.
[백준] 1152번 / 단어의 개수 / Node.js 문제 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net CODE const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); rl.on('line', function (line) { let word = line; // 해당 크로아티아 단어를 문자열에서 전부 찾는 정규식 const regex = /c\=|c\-|d.. 2021. 4. 26.
[백준] 1152번 / 단어의 개수 / Node.js 문제 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net CODE const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); rl.on('line', function (line) { // 입력 받은 문자를 나눔 const alphabets = line.split(''); // dial object 생성 const dial = { 2: ['A', 'B', 'C'], 3: ['D', 'E', 'F'], 4: ['G', 'H', 'I'],.. 2021. 4. 26.
[백준] 2908번 / 상수 / Node.js 문제 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net CODE const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); rl.on('line', function (line) { // 입력 받은 문자를 나눔 let numbers = line.split(' '); // 입력받은 문자를 나눠서 배열에 넣고 역순으로 정렬하고 다시 string으로 만들어준다. //.. 2021. 4. 26.