Muscardinus
[3차] 방금그곡 본문
728x90
programmers.co.kr/learn/courses/30/lessons/17683
function solution(m, musicinfos) {
let answer = [];
let obj = {};
for (let i = 0; i < musicinfos.length; i++) {
let arr = musicinfos[i].split(",");
let a = arr[0].split(":");
let b = arr[1].split(":");
let length = (b[0] - a[0]) * 60 + (b[1] - a[1]);
let str = "";
arr[3] = arr[3]
.replace(/(C#)/g, 'c')
.replace(/(D#)/g, 'd')
.replace(/(F#)/g, 'f')
.replace(/(G#)/g, 'g')
.replace(/(A#)/g, 'a');
m = m
.replace(/(C#)/g, 'c')
.replace(/(D#)/g, 'd')
.replace(/(F#)/g, 'f')
.replace(/(G#)/g, 'g')
.replace(/(A#)/g, 'a');
for(let j = 0; j < length; j++) {
str += arr[3][j % arr[3].length];
}
obj[arr[2]] = str;
}
for (let key in obj) {
if (obj[key].indexOf(m) >= 0) {
if (!answer.length) {
answer = [key, obj[key].length];
}
if (obj[key].length > answer[1]) {
answer = [key, obj[key].length]
}
}
}
if (answer.length > 0) return answer[0];
else return "(None)";
}
728x90
'알고리즘 문제 > [프로그래머스] Lv2' 카테고리의 다른 글
거리두기 확인하기 (0) | 2022.01.28 |
---|---|
행렬 테두리 회전하기 (0) | 2022.01.23 |
[3차] 압축 (0) | 2021.02.07 |
이진 변환 반복하기 (0) | 2021.02.06 |
쿼드압축 후 개수 세기 (0) | 2021.02.03 |
Comments