<제출 답안>
풀리긴 풀리는데.... 너무 길고, 가독성도 떨어진다.
<답안>
조건문을 짤 때는 조건을 잘 따져봐야 한다.
이 가위바위 보의 경우 두 사람 밖에 없으므로 한쪽의 결과만 있으면 다른 한쪽의 결과는 자연스럽게 정해진다.
a의 결과만 다 따져주고 b는 else로 처리해도 된다는 것이다. 훨씬 더 코드가 간단해지고 보기도 편해질것이다.
24.4.12 업데이트.
일단 조건문은 너무 엉망이다. 사실 reduce에 대해서 좀 신경쓰고 있었다.
여태껏 초기화 해주는 게 현재값(fightA)에서의 첫번째 요소를 지정하는 줄 알았는데 그게 아니었다.
final이라는 축적값의 공간을 초기화 해주는 것이었다. (초기화 하지 않을시 첫번째 배열 요소 사용)
하지만 이번 예시처럼 배열을 축적값으로 사용할 때는 빈 배열로 따로 선언해주어야 한다.final을 맨처음에는 []에서 시작해야 하는데 빈배열로 선언해주니 않으면 에러가 생긴다.
callback의 최초 호출에서 첫 번째 인수에 제공하는 값. 초기값을 제공하지 않으면 배열의 첫 번째 요소를 사용합니다. 빈 배열에서 초기값 없이 reduce()를 호출하면 오류가 발생합니다.
출처 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce
느낀점
이번 코테 풀기에서는 느끼는게 내가 map, forEach, reduce 등에 대해서 잘 활용을 못하고 쓰고 있었다는 생각이 많이 든다. 다시 기초로 돌아오길 너무 잘한것 같다.
'🗃️javascript > 코테 프레임 문제' 카테고리의 다른 글
1-14 가장 긴 문자열(△) (0) | 2024.04.10 |
---|---|
5-1 두 배열 합치기 (0) | 2023.09.26 |
1-12 대문자로 통일[아스키 코드 활용] (0) | 2023.09.21 |
1-11 대문자 찾기[문자열 != 배열 || 아스키 코드 출력 : charCodeAt()] (0) | 2023.09.20 |
1-10 문자 찾기(24년)[수정된 기존 배열 리턴: map, 기존 배열x : forEach] (0) | 2023.09.19 |