node 출력방식대신 script 로 출력하였습니다.
원래 체스의 개수는 16개로 [1,1,2,2,2,8]개를 사용한다.
발견한 흰색 체크의 개수가 주어지면 기준점에서 몇 개를 더하거나 빼야만
원래의 체스 개수가 되는지 출력하는 문제이다.
📌 작성코드 (for문 사용)
<script>
function solution(arr) {
let origin = [1, 1, 2, 2, 2, 8], answer = [], minus;
for (i = 0; i < arr.length; i++) {
minus = (parseInt(origin[i])) - (parseInt(arr[i]))
answer.push(minus)
}
return answer;
}
let arr = [2, 1, 2, 1, 2, 1]
console.log(solution(arr))
</script>
우선 for문을 사용해서 풀면?
origin변수로 원래 초기 체스 값을 넣어주었다.
반복문을 사용하여 배열의 요소를 돌아주고
minus 변수에 원래 체스 개수 - 흰색 체스 개수를 해서 minus에 넣어준다.
배열에 push해주면
필요한 체크 개수가 잘 출력.
이번엔 map을 사용해보자.
📌 작성코드
<script>
function solution(arr) {
let answer; origin = [1, 1, 2, 2, 2, 8]
answer = origin.map((a, index) => {
return a - arr[index]
});
return answer;
}
let arr = [2, 1, 2, 1, 2, 1]
console.log(solution(arr))
</script>
map메소드는 새로운 데이터를 반환한다.
origin 초기값을 설정해주고, origin 배열을 a라는 새로운 배열로 만들어준다.
map은 두번째 인자로 index를 전달 받아 arr[index] 에 집어넣고 a[index]에서 arr[index]를 빼준다.
'알고리즘 > 백준' 카테고리의 다른 글
[Javascript] 9498번 - 시험 성적 (0) | 2022.09.09 |
---|---|
[Javascript] 2588번 - 곱셈 (0) | 2022.09.07 |
[Javascript] 10430번 - 나머지 (0) | 2022.09.06 |
[Javascript] 10926번 - ??! (0) | 2022.09.05 |
[Javascript] 10869번 - 사칙연산 (0) | 2022.09.05 |