본문 바로가기

Javascript 코테준비/섹션1

14. 가장 긴 문자열

문제 

 

N개의 문자열이 입력되면 그 중 가장 긴 문자열을 출력하는 프로그램을 작성하세요.

 

 


 

 

 

 

내가 푼 방법 

 

<html>
  <head>
    <meta charset="UTF-8" />
    <title>출력결과</title>
  </head>
  <body>
    <script>
      function solution(s) {
        let answer = "";
        s.forEach((value) => {
          if (value.length > answer.length) {
            answer = value;
          }
        });
        return answer;
      }
      let str = ["teacher", "time", "student", "beautiful", "good"];
      console.log(solution(str));
    </script>
  </body>
</html>

 

 

 


 

 

다른 풀이 

 

<html>
  <head>
    <meta charset="UTF-8" />
    <title>출력결과</title>
  </head>
  <body>
    <script>
      function solution(arr) {
        let wordLength = arr.map((x) => x.length);
        let maxLength = Math.max(...wordLength);
        let longestWord = wordLength.indexOf(maxLength);

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

 

 

 

✅ map, indexOf

 

map : 주어진 함수로 배열의 모든 요소를 실행시켜 새로운 배열을 반환하는 메서드.

 

indexOf : 메서드는 호출한 String 객체에서 주어진 값과 일치하는 첫 번째 인덱스를 반환합니다. 일치하는 값이 없으면 -1을 반환.

 

'Javascript 코테준비 > 섹션1' 카테고리의 다른 글

16. 중복문자제거  (1) 2022.09.10
15. 가운데 문자 출력  (0) 2022.09.10
13. 대소문자 변환  (0) 2022.09.10
12. 대문자로 통일  (0) 2022.09.09
11. 대문자 찾기  (0) 2022.09.09