작성
·
146
0
강의 초반에 "각 문자열의 길이는 서로 다릅니다"라는 조건이 있으니 그건 염두에 두지 않아도 되는 문제다 라고 하셨는데요!
만약에 "같은 문자열의 길이가 들어올 수 있다"라는 조건이고, 가장 긴 문자열 길이를 가진 것들을 모두 출력하는 문제라고 새롭게 설정해보고자
입력값 srt에 "beautiful"과 같은 길이인 "wonderful"을 추가해보고 코드를 수정해보았는데요.
답으로 "beautiful"과 "wonderful"만 나오게 하고 싶은데 "teacher","beautiful","wonderful" 이 세가지가 나오네요 ㅠㅠ
어떻게 하면 제일 긴 문자열만 중복을 허용해서 출력할 수 있을까요?
답변 1
1
안녕하세요^^
다시 한 번 for문이 돌아야 합니다.
function solution(s) {
let answer = [];
let max = Number.MIN_SAFE_INTEGER;
for (let x of s) {
if (x.length > max) {
max = x.length;
}
}
for (let x of s) {
if (x.length === max) {
answer.push(x);
}
}
return answer;
}
let str = ["teacher", "time", "hell", "wonderful", "beautiful", "good"];
console.log(solution(str));
앗 감사합니다 선생님 ^^ 강의 늘 잘 듣고 있습니다!