문제
주어진 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 |