(1).백준 5054번 주차의 신은 여러개의 쇼핑몰에 다 방문해야 한다고 할 때
쇼핑몰 중 한 곳에만 주차한 다음 모두 방문하기 위한 최소 이동거리를 구해야 하는 문제였다.
모든 쇼핑몰을 각자 방문한 다음 이동거리를 구해줬는데
처음에는 각자 하나씩 거리를 재서 계산했지만 문제보다 적게 나오거나 많게 나왔고
정답과 왜 차이가 나는지 자세히 보니 여러 쇼핑몰을 일직선으로 우르르 들렸다 우르르 가져올 수 있었기 때문에
index를 기준으로 좌측, 우측 끝의 수치만 방문하고 돌아오는 길까지 계산하는 방식으로 문제를 해결했다.
const input = `2
4
24 13 89 37
6
7 30 41 14 39 42`.split('\n')
const result = []
for(let i = 2 ; i < input.length ; i+=2){
const arr = input[i].split(' ').map(Number)
let min = 20000
for(let j = 0 ; j < arr.length ; j++){
const minIndex = Math.min(...arr)
const maxIndex = Math.max(...arr)
const sum = (Math.abs(minIndex - arr[j]) + Math.abs(maxIndex - arr[j])) * 2
min = Math.min(min, sum)
}
result.push(min)
}
console.log(result.join('\n'))
'회고' 카테고리의 다른 글
[개발일지] - 363(주말) (0) | 2024.06.29 |
---|---|
[개발일지] - 362 (0) | 2024.06.28 |
[개발일지] - 360 (2) | 2024.06.26 |
[개발일지] - 359 (0) | 2024.06.25 |
[개발일지] - 358 (0) | 2024.06.24 |