label을 이용한 일곱난쟁이 반복문 탈출 공유드립니다.
421
작성한 질문수 1
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)을 이용하여 반복문에서 탈출하는 부분을 구현하였습니다. 라벨을 지정하여 해당 스코프를 탈출하는 방법은 복잡한 반복문 구조에서 유용하게 사용될 수 있습니다. 주어진 입력에 대한 출력은 문제에서 요구하는 결과값이 반환되는 것으로 보입니다. 코드가 정상적으로 동작하는지 테스트 해보셨다면, 원하는 결과를 얻으실 수 있을 것입니다. 이 외에도 추가적인 문제나 질문이 있으시면 언제든지 물어보세요. 감사합니다!
continue를 사용하는 이유
0
79
2
정렬 가능 여부 판단하기
0
64
2
알고리즘 학습법 관련해서 질문드립니다.
0
86
1
코드 리뷰 부탁드립니다!
0
90
1
indexOf를 사용해서 풀어보았습니다 !!
0
68
1
저는 이런식으로 구현 해보았습니다 !!
0
64
1
12,13,14 강의 소리만 나오고 검은 화면입니다
0
100
3
반복문 최소화하고 indexOf 사용해서 풀어봤습니다
0
63
1
영상 보기 전에 직접 풀어봤습니다.
0
74
1
섹션1의 17번문제 이 풀이로 풀어도 될까요?
0
136
2
정규표현식으로 처리해도 상관없나요 ?
0
120
2
3칸씩 건너뛸 수 있을 경우
0
125
2
강의에 대해 질문있습니다.
0
135
2
Object와 Set을 이용해 풀어봤습니다.
0
117
2
이렇게 해도 되나요?
0
102
2
선생님 중복 단어나 중복관련 문제들은 set을 이용하면 좋을것 같습니다.
0
145
2
이렇게 풀어도 괜찮을까요?
0
138
1
이렇게 풀어도 괜찮을까요?
0
112
1
모든 아나그램 찾기에서 시간복잡도
0
98
1
코드리뷰 부탁드립니다.
0
130
1
for loop 탈출은 return 문으로 해도 되지 않나요?
0
133
1
투포인트알고리즘으로 풀어봤습니다.
0
142
0
코드 리뷰 부탁드립니다.
0
120
1
코드 맞게 작성한 거 아닌가여??
0
146
1





