2021/12/18) 14. 가장 긴 문자열

굥굥이·2021년 12월 18일
0
post-thumbnail

1. 문제

<가장 긴 문자열>
: N개의 문자열이 입력되면 그 중 가장 긴 문자열을 출력하는 프로그램을 작성한다.

2. 해결 방법

  1. 앞에서 배웠던 내용과 비슷하다. leng만 추가되었을 뿐.
  2. max라는 변수를 생성하여 Number.MIN_SAFE_INTEGER로 초기화를 해준다.
  3. for..of문에 if를 넣어, 길이를 비교한다. 만약 x가 더 길면, x.length을 max에 넣어주고(비교해야 하므로), x를 answer에 넣어준다(길이가 아닌 해당 값이 출력되어야 하므로).

3. 정답

        <script>
  	    //정답
            function solution(s){  
                let answer="", max=Number.MIN_SAFE_INTEGER;
                for(let x of s){
                    if(x.length>max){
                        max=x.length;
                        answer=x;
                    }
                }
                return answer;
            }
            let str=["teacher", "time", "student", "beautiful", "good"];
            console.log(solution(str));
        </script>
        <script>
            //내가 짠 코드
            function solution(s){  
            let answer = "";
            let min = "";
                for ( let i = 0; i < s.length; i ++){
                    if( s[i].length > min.length ) min = s[i];
                    answer = min;
                }
            return answer;
            }
            let str=["teacher", "time", "student", "beautiful", "good"];
            console.log(solution(str));
        </script>

4. 내 코드와 비교 그리고 반성

  1. 정답을 맞추긴 하였으나, 변수명을 이상하게 짓고(min이라고 지음, 진짜 바보 인증), 처음에 Number.MIN_SAFE_INTEGER로 초기화를 하긴 하였으나, 그럼 if문에서 어떻게 비교하지라는 생각이 들어 빈문자열로 초기화를 했다. x.length > max.length 이런 식으로 생각했다. max는 길이가 아닌 값으로 비교하였어야 했는데. Number.MIN_SAFE_INTEGER(-900719925...)보다 작은 값은 절대 들어올 수 없으니까.
profile
아자아자 파이띵굥!

0개의 댓글