본문 바로가기
Coding Test/Programmers

[Programmers] (2018 KAKAO BLIND RECRUITMENT) Lv 2. [3차] 방금그곡

by song.ift 2023. 3. 9.

https://school.programmers.co.kr/learn/courses/30/lessons/17683

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

function solution(m, musicinfos) {
    m = m.replaceAll('C#', 'c').replaceAll('D#', 'd').replaceAll('F#', 'f').replaceAll('G#', 'g').replaceAll('A#', 'a');
    
    return musicinfos.reduce((acc, data) => {
        const [start, end, TITLE, tempSheet] = data.split(',');
        const getMin = (time) => parseInt(time[0]) * 60 + parseInt(time[1]);
        const TIME = getMin(end.split(':')) - getMin(start.split(':'));
        const sheet = tempSheet.replaceAll('C#', 'c').replaceAll('D#', 'd').replaceAll('F#', 'f').replaceAll('G#', 'g').replaceAll('A#', 'a');
        const newSheet = sheet.repeat(Math.floor(TIME / sheet.length)) + sheet.substr(0, Math.floor(TIME % sheet.length));
        
        return (newSheet.includes(m) && TIME > acc.TIME) ? { TITLE, TIME } : acc;
    }, { TITLE: "(None)", TIME: 0 }).TITLE;
}

GitHub : https://github.com/developeSHG/Algorithm-Baekjoon_Programmers/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/lv2/17683.%E2%80%85%EF%BC%BB3%EC%B0%A8%EF%BC%BD%E2%80%85%EB%B0%A9%EA%B8%88%EA%B7%B8%EA%B3%A1

 

GitHub - developeSHG/Algorithm-Baekjoon_Programmers: 백준 and 프로그래머스 소스코드

백준 and 프로그래머스 소스코드. Contribute to developeSHG/Algorithm-Baekjoon_Programmers development by creating an account on GitHub.

github.com

 

댓글