DS & Algorithm
[프로그래머스] 방금그곡 - 자바스크립트
문제 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr 코드 function solution(m, musicinfos) { const arr = musicinfos.map((mi) => { const [start, end, title, code] = mi.split(","); const hour = end.slice(0, 2) - start.slice(0, 2); const minute = end.slice(3) - start.slice(3); const runtime = 60 * hour + mi..
![[프로그래머스] 쿼드 압축 후 개수 세기 - 자바스크립트](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FWGj17%2Fbtq8jJKmcyf%2FAAAAAAAAAAAAAAAAAAAAAJNGolfMnq3hyLj-nZYTq0TvYQeu9cW-FajijtNigbhu%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3D1cABEHvsPhOcRjEqq42lkJhL2d0%253D)
[프로그래머스] 쿼드 압축 후 개수 세기 - 자바스크립트
문제 코딩테스트 연습 - 쿼드압축 후 개수 세기 [[1,1,0,0],[1,0,0,0],[1,0,0,1],[1,1,1,1]] [4,9] [[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[0,0,0,0,1,1,1,1],[0,1,0,0,1,1,1,1],[0,0,0,0,0,0,1,1],[0,0,0,0,0,0,0,1],[0,0,0,0,1,0,0,1],[0,0,0,0,1,1,1,1]] [10,15] programmers.co.kr 코드 function solution(arr) { if(arr.length === 1) return arr[0][0] ? [0,1] : [1,0]; const answer = [0,0]; const len = arr.length; const half = len / 2; ..
![[프로그래머스] 괄호 회전하기 - 자바스크립트](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FqFynp%2Fbtq8dRhkcIr%2FAAAAAAAAAAAAAAAAAAAAAIRjXaWW-GRuXKcMPiQ2tmBQFFir9KGbqU4ue41wUaGg%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DrxKAk9Jn8RMq3tSdHP7pxRRcNUY%253D)
[프로그래머스] 괄호 회전하기 - 자바스크립트
문제 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 코드 function solution(s) { if (s.length % 2 === 1) return 0; const sLen = s.length; let answer = 0; for (let i = 0; i < sLen; i++) { let str = s.slice(i) + s.slice(0, i); const stack = []; let flag = 1; for (let n of str) { if (n === "(" || n === "{" || n === "[") stack.push(n); else { const bracket = stack.pop(); if (n === ")" && bracket === "(") continue;..
[프로그래머스] 압축 - 자바스크립트
문제 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr 코드 function solution(msg) { const answer = []; const dict = [0]; for (let i = 0; i < 26; i++) { dict.push(String.fromCharCode(i + 65)); } let idx = 0; let w = msg[idx]; while (true) { let c = msg[++idx]; if (c === undefined) { answer.push(dict.indexOf(w)); return answer..
[프로그래머스] 영어 끝말잇기 - 자바스크립트
앞으로 알고리즘 문제에 대해서 문제 - 코드 - 풀이 순으로 포스팅을 할 예정이다. 문제 코딩테스트 연습 - 영어 끝말잇기 3 ["tank", "kick", "know", "wheel", "land", "dream", "mother", "robot", "tank"] [3,3] 5 ["hello", "observe", "effect", "take", "either", "recognize", "encourage", "ensure", "establish", "hang", "gather", "refer", "reference", "estimate", "executive"] [0,0] programmers.co.kr 코드 function solution(n, words) { const voca = []; let ..
![[프로그래머스] 파일명 정렬 - 자바스크립트](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FMnx2V%2Fbtq7YomSZNP%2FAAAAAAAAAAAAAAAAAAAAAJSLmOLkBFvhwe1lr6oHfokiHvNGO2Jcxj3ZS-jcuY9e%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DEtfu4qxonLR%252BCseK%252BFbSg8cMh2I%253D)
[프로그래머스] 파일명 정렬 - 자바스크립트
문제 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr 풀이 파일명이 다음과 같이 주어지며, Head, Number, Tail로 나뉜다. 조건을 나열해보면 1. Head를 기준으로 대소문자 구분을 하지 않고 사전순으로 정렬한다. 2. Head가 같다면 Number의 숫자 순으로 정렬한다. 0012와 12는 같은 값으로 처리되어야 한다. 3. Head, Number가 모두 같다면 원래 입력 순서를 유지한다. 이렇게 3가지이다. 입력으로 주어진 문자열에서 Head, Number를 발견하면 나머지는 Tai..