(1).백준 24349번 МЕД는 해당 경로로 이동할 때마다 특정 수치만큼의 이동거리를 나타낼 때

n회의 방문을 하기 위해서 얼만큼의 이동거리를 이동해야 하는지를 m, cm 단위로 표기해야 하는 문제였다.

 

거리가 cm라는 억지 설정 자체부터 이해가 되지 않긴 하지만

주어진 값대로 처리하려고 했는데

일단 1회 방문을 기본 조건으로 진행하기 때문에 times에서 1을 빼야 했는데

웃기게도 1회 방문도 조건에 포함되어 있었기 때문에

times가 1보다 큰지를 체크해야만 했다.

 

현재 위치에서 갈 수 있는건 두가지 밖에 없기 때문에

나머지 두가지 포인트에서 서로 왕래하는 거리가 제일 짧은 경우

현재 둘 중 하나로 가는 길 중 최소치의 이동거리로 이동 후 해당 거리를 반복하고

현재 이동 가능한 둘 중 하나에 최소치의 거리가 존재하는 경우 

해당 거리를 반복하는 방식으로 문제를 해결할 수 있었다.

const [times, a, b, c] = `3 2 3 1`.split(' ').map(Number)
let result
if(c < Math.min(a,b)){
    if(times > 1){
        result = Math.min(a,b) + (times-2)*c
        console.log(Math.floor(result/100), result%100)
    }
    else{
        console.log(0, 0)
    }
}
else{
    result = (times-1) * Math.min(a,b)
    console.log(Math.floor(result/100), result%100)
}

'회고' 카테고리의 다른 글

[개발일지] - 180  (1) 2023.12.27
[개발일지] - 179  (0) 2023.12.26
[개발일지] - 177(주말)  (0) 2023.12.24
[개발일지] - 176(주말)  (0) 2023.12.23
[개발일지] - 175  (1) 2023.12.22

+ Recent posts