문제설명
입력 & 출력
나의 풀이
먼저 풀이 설명에 앞서 실수했던 점을 짚어보고 가려고 합니다.
1) if(max <= Math.max(...input[i]))
2) if(max < Math.max(...input[i]))
8번째 줄 max값을 구하는 코드입니다. 근데 처음에는 max값을 구할 때 부등호를 크거나 같게 해야 하는데 max 값보다 큰 값을 체크한다는 생각에 같다는 부등호(=)를 빼먹었습니다. 그래서 계속해서 런타임에러가 발생했습니다.
코드를 제대로 확인해야겠다는 생각을 다시 한번 느끼게한 문제여서 정리해보고자 합니다.
먼저 입력값을 받을 때 첫째줄에서 9째줄까지 받아야 하기 때문에 split() 메서드를 사용하여 분리해주고, map() 메서드를 사용하여 입력 요소를 공백으로 구분하고 정수형으로 변환해줍니다.
그리고 기본 for문을 사용하는데 앞서 말했듯이 if문에서 각 요소의 가장 큰 값을 Math.max()로 구해주고, 최댓값이 위치하는 행을 col에 넣어주는데 for문의 시작점을 0으로 했기 때문에 +1을 해줘야 합니다.
그리고 최댓값이 있는 배열을 순회하는데 max값과 같은 요소를 발견하면 해당하는 index를 idx변수에 넣어줍니다.
그리고 문자열로 반환을 해야 하기 때문에 백틱(`)을 사용하여 문자열로 연결하여 마무리했습니다.
refactoring ✅
"나의 풀이"와 비슷한 구조로 풀었지만 크게 다른 점은 이중 for문을 사용했다는 것입니다.
코드의 길이가 줄어 좀 더 간결한 코드인 것 같습니다.
참고 ❗
[JavaScript] 이스케이프 문자 처리 / 백틱(Backtick)
이스케이프 문자 ❓ 이스케이프 문자(escape character, 제어 문자)는 문자 제어 코드로, 화면에 출력하는 문자가 아니라 문자 출력을 제어하는 문자이며 \(역슬래쉬)와 한 개의 문자와 결합하여 작성
pixx.tistory.com
[JavaScript] Array filter() 사용법과 map()과 차이점
filter() "배열".filter(callBackFunction(currValue, index, array), newValue); filter()는 말 그대로 걸러주는 역할을 하는 함수입니다. 주로 특정 조건을 만족하는 새로운 배열을 필요로 할 때 사용하는 편입니다. ca
pixx.tistory.com
'Coding Test > 백준' 카테고리의 다른 글
[백준] 색종이 (node.js, 2563번) (0) | 2024.04.16 |
---|---|
[백준] 세로읽기 (10798번, node.js) (0) | 2024.04.16 |
[백준] 행렬 덧셈 (node.js, 2738번) (0) | 2024.04.09 |
[백준] 너의 평점은 (node.js, 25206번) (0) | 2024.04.08 |
[백준] 그룹 단어 체커 (node.js , 1316번) (0) | 2024.04.07 |