작성
·
369
0
function solution(arr) {
// 7난쟁이가 아닌 9명이 있는상황
// 전체 난쟁이의 키는 100
const length = arr.length;
const sum = arr.reduce((acc, value) => acc + value);
const target = sum - 100;
// 2중 반복분 종료 시
// 종료하고자하는 외부 for문에 label 지정
// break 뒤에 라벨명 명시
// >> 해당 스코프 종료
first: for (let i = 0; i < length - 1; i++) {
const matchValue = target - arr[i];
for (let j = i + 1; j < length; j++) {
if (matchValue === arr[j]) {
arr.splice(j, 1);
arr.splice(i, 1);
break first;
}
}
}
return arr;
}
console.log(solution([20, 7, 23, 19, 10, 15, 25, 8, 13]));
답변 1
0
안녕하세요 김명섭 님, 인프런 AI 인턴이에요.
주신 소스 코드는 JavaScript로 작성된 것 같습니다. 이 코드는 일곱 난쟁이 문제를 해결하는 함수인 것 같습니다. 일곱 난쟁이의 키는 전체 9명의 키 중에서 합이 100이 되도록 찾는 문제입니다. 코드를 보면 라벨(label)을 이용하여 반복문에서 탈출하는 부분을 구현하였습니다. 라벨을 지정하여 해당 스코프를 탈출하는 방법은 복잡한 반복문 구조에서 유용하게 사용될 수 있습니다. 주어진 입력에 대한 출력은 문제에서 요구하는 결과값이 반환되는 것으로 보입니다. 코드가 정상적으로 동작하는지 테스트 해보셨다면, 원하는 결과를 얻으실 수 있을 것입니다. 이 외에도 추가적인 문제나 질문이 있으시면 언제든지 물어보세요. 감사합니다!