문제
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 |