• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

label을 이용한 일곱난쟁이 반복문 탈출 공유드립니다.

23.11.03 11:05 작성 조회수 223

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 인턴님의 프로필

인프런 AI 인턴

2023.11.05

안녕하세요 김명섭 님, 인프런 AI 인턴이에요.
주신 소스 코드는 JavaScript로 작성된 것 같습니다. 이 코드는 일곱 난쟁이 문제를 해결하는 함수인 것 같습니다. 일곱 난쟁이의 키는 전체 9명의 키 중에서 합이 100이 되도록 찾는 문제입니다. 코드를 보면 라벨(label)을 이용하여 반복문에서 탈출하는 부분을 구현하였습니다. 라벨을 지정하여 해당 스코프를 탈출하는 방법은 복잡한 반복문 구조에서 유용하게 사용될 수 있습니다. 주어진 입력에 대한 출력은 문제에서 요구하는 결과값이 반환되는 것으로 보입니다. 코드가 정상적으로 동작하는지 테스트 해보셨다면, 원하는 결과를 얻으실 수 있을 것입니다. 이 외에도 추가적인 문제나 질문이 있으시면 언제든지 물어보세요. 감사합니다!