(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

+ Recent posts