강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

박명재님의 프로필 이미지
박명재

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

14. 가장 긴 문자열

복습을 위해서 다시 풀다가 배웠던 Hash 알고리즘으로 풀어 봤는데 좋지 않은 선택인가요?

작성

·

316

1

코드입니다. 피드백 부탁드립니다~

function solution(s) {
let answer;
let max = Number.MIN_SAFE_INTEGER;
const sH = new Map();

for (let val of s) {
sH.set(val, val.length);
}

for (let [key, val] of sH) {
if (max < val) {
max = val;
answer = key;
}
}

return answer;
}

let str = ['teacher', 'time', 'student', 'beautiful', 'good'];
console.log(solution(str));

퀴즈

46%나 틀려요. 한번 도전해보세요!

세 수 중 최솟값을 찾을 때, if 문만 사용한다면 어떤 방식으로 비교하는 것이 일반적인가요?

세 수를 한 번에 비교하여 가장 작은 수를 바로 찾습니다.

두 수의 최솟값을 먼저 찾고, 그 결과와 나머지 한 수를 비교합니다.

가장 큰 수를 먼저 찾은 후, 남은 두 수 중 작은 값을 찾습니다.

모든 가능한 쌍을 비교하여 가장 작은 값을 찾습니다.

답변 3

0

Set이나 Map 같은 자료구조는 꽤 무거워서 부담을 준다고 들었어요.

0

박명재님의 프로필 이미지
박명재
질문자

감사합니다~

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

for 문이 한 번만 돌면 되는데 두 번 돌게 하는 것과, Hash 메모리 공간 낭비도 일어나는 위에 방법은 좋은 선택은 아닌것 같습니다. 

박명재님의 프로필 이미지
박명재

작성한 질문수

질문하기