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

손성오님의 프로필 이미지
손성오

작성한 질문수

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

14. 가장 긴 문자열

안녕하세요 질문입니다

작성

·

113

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

다음과 같이 작성하였는데 이상이 없을까요?

<html>
  <head>
    <meta charset="UTF-8" />
    <title>출력결과</title>
  </head>
  <body>
    <script>
      function solution(s) {
        let answer = "";
        for (let i = 0; i < s.length - 1; i++) {
          if (s[i].length > s[i + 1].length) {
            answer = s[i];
          } else {
            answer = s[i + 1];
          }
        }

        return answer;
      }
      let str = ["teacher", "time", "student", "beautiful", "good"];
      console.log(solution(str));
    </script>
  </body>
</html>

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

제시해주신 코드를 보았습니다. 몇 가지 수정이 필요해 보입니다. 해당 코드는 문자열 배열에서 가장 긴 문자열을 찾는 것으로 보이는데 현재 구현으로는 배열의 마지막 두 요소만을 비교하게 됩니다. 모든 요소를 확인하며 가장 긴 문자열을 찾기 위해서는 다음과 같이 코드를 수정할 수 있습니다.

<html>
  <head>
    <meta charset="UTF-8" />
    <title>출력결과</title>
  </head>
  <body>
    <script>
      function solution(s) {
        let answer = "";
        for (let i = 0; i < s.length; i++) {
          if (s[i].length > answer.length) {
            answer = s[i];
          }
        }

        return answer;
      }
      let str = ["teacher", "time", "student", "beautiful", "good"];
      console.log(solution(str));
    </script>
  </body>
</html>

위 코드는 str 배열의 모든 요소를 순회하면서 각각의 길이를 확인하여, 현재까지 가장 긴 문자열을 answer에 지정합니다. 이렇게 하면 배열 전체에서 가장 긴 문자열을 효과적으로 찾을 수 있습니다.

코드를 수정 후 다시 실행해보시길 바랍니다.

손성오님의 프로필 이미지
손성오

작성한 질문수

질문하기