인프런 커뮤니티 질문&답변
두번째 for문 대신에 sort 사용
작성
·
222
0
안녕하세요~
두번째 for문 대신에 sort를 써서 풀었는데 이렇게 풀어도 괜찮을까요..?
function solution(s) {
const map = new Map();
for (let x of s) {
if (map.has(x)) {
map.set(x, map.get(x) + 1);
} else {
map.set(x, 1);
}
}
const answer = Array.from(map).sort((a, b) => b[1] - a[1]);
return answer[0][0];
}
let str = 'BACBACCACCBDEDE';
console.log(solution(str));
// C
퀴즈
45%나 틀려요. 한번 도전해보세요!
투 포인터 또는 슬라이딩 윈도우 기법이 중첩 반복문보다 효율적인 주된 이유는 무엇일까요?
더 적은 메모리를 사용해서일까요?
코드가 더 짧아져서일까요?
대부분의 경우 O(N) 시간 복잡도를 달성해서일까요?
입력 데이터 크기에 영향을 받지 않아서일까요?
답변 1
3
김태원
지식공유자
안녕하세요^^
이 문제 같은 경우에는 알파벳이 5개로 고정되니 정렬을 하나 영상처럼 for문 탐색을 하나 차이가 없습니다.
하지만 입력의 크기 N이 클 겨우
정렬의 시간복잡도는 O(NlogN)이고 영상처럼 for문 탐색은 O(N)이기때문에 정렬이 더 안좋은 결과를 얻을 수 있다는 점도 알아두시면 좋겠습니다.





