function solution(park, routes) { // 공원 벗어나거나 장애물을 만나면 다음 명령 실행 // 마지막 [세로 방향 좌표, 가로 방향 좌표] 위치 리턴 const height = park.length; const width = park[0].length; let start = []; for(let idx in park) { if (park[idx].indexOf('S') >= 0) { start = [Number(idx), park[idx].indexOf('S')]; break; } } const getLocation = ( route, locate ) ..
// 1. 붕대감기 시전시간만큼 1초당 회복, 시전시간 다 채우면 추가 회복, 최대 체력 이하로 회복// 2. 기술 도중 공격당하면 기술 취소당하고 공격당한 순간 체력회복 불가// 3. 체력이 0 이하로 떨어지면 죽음// 4. 캐릭터 마지막 체력 리턴, 죽었을 때는 -1 리턴function solution( bandage, // [기술의 시전 시간, 1초당 회복량, 추가 회복량] health, // 최대체력 attacks // [[몬스터 공격시간, 피해량]]) { // 어택을 돌려서 추론 const [skillTime, heal, extraHeal] = bandage; let remainHealth = health; let prevAttackTime =..
function solution( friends, // 친구이름 배열 gifts // 선물기록 배열 "A B") { let giftCost = {}; let giftInfo = {}; let maxGiftCnt = 0; // cost 계산 friends.forEach((friend) => { giftCost[friend] = gifts.filter((item) => item.split(' ')[0] === friend).length - gifts.filter((item) => item.split(' ')[1] === friend).length; giftInfo[friend] = friends .filter((item) => item !== friend) ..
function solution( video_len, // 동영상길이 pos, // 직전 재생위치 op_start, // 오프닝 시작 시간 op_end, // 오프닝 끝나는 시간 commands // 사용자의 입력 ) { // 시간 > 초 변경 / 리턴 - 초 const transTime = (time) => { const [m, s] = time.split(':'); return m * 60 + s * 1; } // 초 > 시간 변경 / 리턴 - 시간 co..