(1).백준 8826번 Spacer는 4방향의 직선으로만 이동할 수 있을 때
주어진 방향으로 이동한 경우 원점으로 돌아오기 위한 이동 거리를 묻는 문제였다.
최종적으로는 가로방향의 이동거리, 세로방향의 이동거리를 더하면 되는 문제로
각 방향의 차이를 절대값으로 해도 괜찮을 것 같은데
이번에는 Math.max를 사용해 반대 값의 비교 방식으로 진행했고
해당 값들에 접근하기 위해 i+=2를 통해 두칸씩 건너 뛰며 접근했다.
const input = `3
1
S
5
EENWN
10
EWSSNEWNSE`.split('\n')
const result = []
for(let i = 2 ; i < input.length ; i+=2){
let obj = {E : 0, S : 0, W : 0, N : 0}
for(let j = 0 ; j < input[i].length ; j++){
obj[input[i][j]]++
}
result.push(Math.max(obj['N'] - obj['S'] , obj['S'] - obj['N']) + Math.max(obj['W'] - obj['E'] , obj['E'] - obj['W']))
}
console.log(result.join('\n'))
'회고' 카테고리의 다른 글
[개발일지] - 27 (0) | 2023.07.27 |
---|---|
[개발일지] - 26 (0) | 2023.07.26 |
[개발일지] - 24 (0) | 2023.07.24 |
[개발일지] - 23(주말) (0) | 2023.07.23 |
[개발일지] - 22(주말) (0) | 2023.07.22 |