✨JSY
article thumbnail
[프로그래머스 / JavaScript] 구명보트
PS/프로그래머스 2024. 4. 21. 14:47

-- 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr -- 최초 풀이 function solution(people, limit) { let cnt = 0; people.sort((a, b) => a - b); while (people.length >= 2) { if (people[0] + people[people.length - 1] 2명이 탈 수 있음 => pop(), shift() 연산 2. limit을 넘는다 => 2명이 탈 수 없음..

article thumbnail
[프로그래머스 / JavaScript] 숫자의 표현
PS/프로그래머스 2024. 4. 14. 14:33

-- 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12924 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr -- 최초 풀이 function solution(n) { let cnt = 0; let i = 1; // 예외 처리 if (n === 1) return 1; while (1) { let mid = Math.ceil(n / i); // 중앙값 // 연속된 수 중 가장 작은 값이 1보다 작으면 루프 종료 및 cnt 리턴 if (mid - Math.floor(i / 2) < 1) return..

article thumbnail
[프로그래머스/JavaScript] 최빈값 구하기
PS/프로그래머스 2023. 12. 25. 13:36

-- 문제 https://school.programmers.co.kr/learn/courses/30/lessons/120812 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr -- 최종 풀이 const solution = (array) => { // 1. 해시테이블 Map 이용 const map = new Map(); // 2. 반복문을 통해각 el 별 등장 횟수 구하기 // 2-1. 해당 el가 map에 존재하는 지 확인 for (let i = 0; i value 1 증가 if (m..

article thumbnail
[프로그래머스/JavaScript] 분수의 덧셈
PS/프로그래머스 2023. 12. 25. 11:34

-- 문제 https://school.programmers.co.kr/learn/courses/30/lessons/120808 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr -- 처음 제출한 답안 function solution(numer1, denom1, numer2, denom2) { let num = (numer1 * denom2) + (numer2 * denom1); let den = denom1 * denom2; let min = findMinDivider(num, den); return [num / min, den / min]; } functi..

[백준] [JS] 5622_다이얼
PS/백준 2023. 9. 15. 15:29

문제 문제 출처 - https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 풀이 다이얼 정보를 담은 객체를 하나 만들어두는 것이 좋을 것 같다. const dialInfo = { // 다이얼넘버 + 시간(1초) 이 value가 됨. 'ABC' : 3, 'DEF' : 4, 'GHI' : 5, 'JKL' : 6, 'MNO' : 7, 'PQRS' : 8, 'TUV' : 9, 'WXYZ' : 10 }; 다이얼 숫자의 +1만큼이 걸리는 시간이므로, 객체를 생성하여 key값을 다이얼의 문자, value값을 걸리는 시간(다이얼의 수 + 1) 으로 ..

article thumbnail
[백준] [JS] 1152_단어의 개수
PS/백준 2023. 9. 15. 14:50

문제 문제 출처 - https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 풀이 쉬워 보이지만, 문자열이 아예 공백으로 나와버리는 경우, 1로 출력되는 문제를 해결해야 한다. 문자열이 공백인 경우를 0으로 출력할 수 있도록 예외 처리를 해준다. 코드 const fs = require('fs'); const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; let inp..

article thumbnail
[백준] [JS] 10809_알파벳 찾기
PS/백준 2023. 9. 15. 14:45

문제 문제 출처 - https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 풀이 소문자 a의 아스키코드는 97, z는 122이므로, 이 구간을 for문으로 돌린다. 문자열.indexOf(String.fromCharCode(아스키코드)); 해당 아스키코드의 문자가 있는 위치를 indexOf 메소드로 찾아준다. 코드 const fs = require('fs'); const filePath = process.platform === 'linux'..

article thumbnail
[백준] [JS] 11654_아스키 코드
PS/백준 2023. 9. 15. 14:37

문제 문제 출처 - https://www.acmicpc.net/problem/11654 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 - JavaScript ASCII code 참고 블로그 - https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=diceworld&logNo=220175224345 자바스크립트 아스키코드 변환하기 (charCodeAt / fromCharCode) - charCodeAt / fromCharCode 란? charCodeAt 은 문자열... blog.naver.com 이 문제..

article thumbnail
백준 10811 javascript | node.js
PS/백준 2023. 9. 12. 16:06

문제 문제 출처 - https://www.acmicpc.net/problem/10811 10811번: 바구니 뒤집기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2 www.acmicpc.net 풀이 1. 최초 바구니 내부 값 부여 let arr = new Array(N).fill(1).map((a, b) => a + b);// 1 2 3 4 5 2. 주어진 범위를 for 문으로 돌려 tmpArr 에 넣고 반전시키기 3. splice를 이용해 원래 있던 것을 잘라내고 붙이기 -- 이상 절차였고, 코드에서 주석으로 설명-- 코드 const fs = require(..