let fs = require('fs');
const numbers = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
//const numbers = fs.readFileSync(__dirname+'/ex2.txt').toString().trim().split('\n');
let input = [];
for (const k of numbers){
input.push(k.split(' ').map(Number));
}
let max = 0;
let row = 1, col = 1;
for (let i=0; i< 9; i++) {
for (let j=0; j<9; j++) {
if (input[i][j] > max) {
max = input[i][j];
row = i+1;
col = j+1;
}
}
}
console.log(max);
console.log(row, col);
모든 값이 같을 경우 row와 col의 초기값을 0으로 해두면 0 0이 나오는데 이는 유효하지 않은 인덱스이므로 row와 col의 초기값을 1로 해주어야 한다!
아오 자바스크립트로 맨날 프로그래머스 문제만 풀어서 그런지 백준 풀 때마다 입력값 받는게 잘 안된다....... 하......... 파이썬이면 2분컷인데 이걸........ 하........... 언젠간 능숙해지겠지? 계속 append()함수 쓰고있었다...... 자바스크립트는 push라는 거 잊지말기!!
3 23 85 34 17 74 25 52 65 10 7 39 42 88 52 14 72 63 87 42 18 78 53 45 18 84 53 34 28 64 85 12 16 75 36 55 21 77 45 35 28 75 90 76 1 25 87 65 15 28 11 37 28 74 65 27 75 41 7 89 78 64 39 47 47 70 45 23 65 3 41 44 87 13 82 38 31 12 29 29 80
입력값이 이런 경우
let fs = require('fs'); const numbers = fs.readFileSync('/dev/stdin').toString().trim().split('\n'); //const numbers = fs.readFileSync(__dirname+'/ex2.txt').toString().trim().split('\n'); let input = []; for (const k of numbers){ input.push(k.split(' ').map(Number)); }
이렇게 받으면 된다~