2차원 배열의 최대 값 및 위치 찾기

문제


주어진 2차원 배열에서 가장 큰 값을 찾아 그 값에 대한 위치를 출력하시오

 

예시


const test_case = `56 32 17 92 48 61 75 23 39
14 67 82 48 25 36 47 58 69
33 87 29 51 44 18 76 62 55
72 28 36 59 93 41 63 87 21
98 52 14 67 39 84 16 29 75
42 89 24 76 52 11 37 28 64
65 74 38 91 37 59 78 44 33
47 56 70 45 33 65 38 41 54
37 63 82 58 91 42 29 19 80`

//출력
98 5 1

 

풀이


function findMaxValueAndPosition(dimensionString) {
    let maxValue = -1;
    let nm;
    dimensionString
        .split('\n')
        .map((e) => e.split(' '))
        .forEach((e, n) => {
            if (maxValue < Math.max(...e)) {
                maxValue = Math.max(...e);
                nm = n + 1 + ' ' + (e.indexOf(maxValue + '') + 1);
            }
        });
    return maxValue + ' ' + nm
}

주어진 행렬을 배열로 집어넣어 행을 돌면서 최대 값을 찾습니다. 최대 값을 저장하고 다른 행을 돌면서 저장된 최대값보다 높은 값이 있을때 다시 최대값을 저장합니다. 그러면서 위치도 다시 저장시켜줍니다.

'코딩문제' 카테고리의 다른 글

도화지 색칠하기  (0) 2024.03.31
문자열 세로 추출  (0) 2024.03.30
행렬 덧셈  (0) 2024.03.30
연속된 문자 제외 중복된 문자 체크  (0) 2024.03.30
대체된 문자열 길이 구하기  (0) 2024.03.30