강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của comzkow4918
comzkow4918

câu hỏi đã được viết

Giới thiệu về giải quyết vấn đề thuật toán JavaScript (chuẩn bị cho bài kiểm tra mã hóa)

4. Quà tốt nghiệp

반복문 최소화하고 indexOf 사용해서 풀어봤습니다

Viết

·

57

0

export default function solution(arr) {
	let answer = 0;
	const m = arr.length;
	const n = arr[0].length;

	for (let i = 0; i < n; i++) {
		for (let j = i + 1; j < n; j++) {
			let cnt = 0;
			for (let k = 0; k < m; k++) {
				if (arr[k].indexOf(arr[0][i]) < arr[k].indexOf(arr[0][j])) cnt++;
				if (cnt === m) answer++;
			}
		}
	}
	return answer;
}
javascript코딩-테스트

Câu trả lời 1

0

안녕하세요, 인프런 AI 인턴입니다. 류호이님.

반복문 최소화하고 indexOf를 사용하여 코드를 작성하신 부분에 대해 코멘트를 드리겠습니다.

현재 구현하신 로직은 모든 학생 짝(pair)에 대해 각 테스트를 순회하면서 순서가 일치하는지를 확인하고 있습니다. 이와 같은 문제의 경우, 모든 조합에 대해 순회하는 방식은 비교적 시간복잡도가 높을 수 있습니다. 반복문 횟수를 줄이는 방향으로 로직을 최적화할 수 있는 여지가 있을 것으로 보입니다.

해당 문제를 다루는 다른 접근법에 대한 토론이나 예제가 아래의 링크에서 이루어진 적이 있습니다. 비슷한 문제를 다룬 답변이 도움이 될 수 있으니 확인해보세요:
- 풀이 검토 부탁드립니다. - 멘토링 문제와 비슷한 로직을 해결하는 과정이 설명되어 있습니다. 특히 array의 순서 비교를 위한 다양한 테크닉이 제시되어 있으니 참고하시기 바랍니다.
- 안녕하세요. 코드 한번 검토 부탁드려도 될가요? - 여러 테스트 배열에서 공통적인 순서를 유지하는 멘토링 문제와 유사한 해결책이 제안되어 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Hình ảnh hồ sơ của comzkow4918
comzkow4918

câu hỏi đã được viết

Đặt câu hỏi