🌿Algorithm/JavaScript 10

✏️ [프로그래머스] 프린터

1. 문제 programmers.co.kr/learn/courses/30/lessons/42587?language=javascript 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 2. 접근 방법 push, shift 메서드를 사용해서 풀었다. Math.max사용하려고 전개 구문 사용했다. 3. 코드 Javascript function solution(priorities, location) { var answer = 0; let queue = []; for (let i=0; i 0) { let now = pri..

✏️ [프로그래머스] 멀쩡한 사각형

1. 문제 programmers.co.kr/learn/courses/30/lessons/62048?language=javascript 코딩테스트 연습 - 멀쩡한 사각형 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 programmers.co.kr 2. 접근 방법 처음에 일차함수로 접근해서, 아래쪽 부분만 다 더해주고 *2로 해줬다. 근데 이렇게 할 경우 테스트 6번 빼고 모두 통과한다. 6번이 왜 안되는지 확인해봤더니, 기울기 값이 오차범위 때문에 일부 값이 손실되어서 반환 값이 다르게 나온다고 한다. ㅋㅋㅋㅋㅋㅋㅋㅋ ㅠㅠ 그래서 w, h 중 더..

✏️ [프로그래머스] 오픈채팅방

1. 문제 programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 2. 접근 방법 Object써서 key에 uid를 담고 value에 nickname을 담아서 nickname을 모두 갱신 한 다음, 각 명령에 맞는 메시지를 출력해줬다. 3. 코드 Javascript function solution(records) { var answer = []; let name = new Object() let temp = []; for (let..

✏️ [프로그래머스] 문자열 압축

1. 문제 programmers.co.kr/learn/courses/30/lessons/60057?language=javascript 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 2. 접근 방법 앞에서부터 n개씩 잘라서 같은 경우 숫자로 바꿔준다. 여기서 숫자로 바꾸다가 현재 최소 길이보다 크면은 break조건을 넣어줬따. 3. 코드 Javascript function solution(s) { var answer = s.length; if (s.length === 1) { return 1; } fo..

✏️ [프로그래머스] 기능개발

1. 문제 programmers.co.kr/learn/courses/30/lessons/42586?language=javascript 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 2. 접근 방법 파이썬으로 풀 때는 progresses 기준으로 확인했는데, 이번에는 날짜를 기준으로 확인했다. 1. 현재 날짜에 맨 앞에 있는 작업이 완료되는지 2. 완료된다면: 언제까지 완료되는지 하나씩 확인 3. 완료되지 않는다면: 완료된 항목이 있는지 확인 3-1. 완료된 항목이 있다면: 현재까지 완료된 항목의 갯수..

✏️ [프로그래머스] 짝수와 홀수

1. 문제 programmers.co.kr/learn/courses/30/lessons/12937?language=javascript 코딩테스트 연습 - 짝수와 홀수 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even" programmers.co.kr 2. 접근 방법 나머지를 비교하면 됩니다요 3. 코드 Javascript function solution(num) { var answer = ''; if (num%2 == 0) { answer = 'Even' } else { answer = 'Odd' } retur..

✏️ [프로그래머스] 자릿수 더하기

1. 문제 programmers.co.kr/learn/courses/30/lessons/12931 코딩테스트 연습 - 자릿수 더하기 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출 programmers.co.kr 2. 접근 방법 숫자를 하나씩 나눠서 각각 더해줬습니다. 3. 코드 JS function solution(n) { var answer = 0; let nums = String(n).split("") nums.forEach(num => answer += Number(num)) return an..

✏️ [해시] 완주하지 못한 선수

1. 문제 programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 2. 접근 방법 파이썬으로 풀 때는 해시로 접근해서, 얘는 어떻게 해야하나 고민하다가 그냥 소트해서 앞에서부터 있는지 없는지 확인했습니다. 3. 코드 JavaScript function solution(participant, completion) { var answer = ''; participant.sort() completion.sort() ..

✏️ [백준 10818] 최소, 최대

1. 문제 www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 2. 접근방법 입력을 받아서 최대 최소를 해주면 됩니당 하지만 node.js 는 입력부터 어렵지요 ~! 다양한 방법이 있겠지만 그 중에서 저는 1) 각 줄마다 입력받고 2) 입력받은 값을 input이라는 배열에 담은 다음 3) 첫번째 입력 값인 N개만큼 for반복해서 4) minVal과 maxVal을 하나씩 찾았슴다 3. 자바스크립트 코드 const readline..

✏️ [백준 2475] 검증수

1. 문제 www.acmicpc.net/problem/2475 [ 2475번: 검증수 컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들 www.acmicpc.net ](https://www.acmicpc.net/problem/2475) 2. 접근방법 1. input 받기 2. 리스트화 시켜주기 3. 각각의 원소를 제곱해줘서 더해주기 4. 10으로 나눈 나머지 도출 -> 요로코롬 자세히 쓴 이유는 ... 아래에서 ... 3. 코드 const readline = require('readline'); const rl = readline.create..