ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 예제를 통한 조건문의 이해
    JavaScript 2020. 5. 6. 22:13

    문제

    : 문자열 3개가 주어졌을 때, 주어진 문자열 중 가장 짧은 문자열을 반환하는 함수 "findShortestWords"를 만들어보자.

    만약 문자열의 길이가 같다면, 그 중 앞에 있는 문자열을 반환해야 한다.

     

    매개변수는 word1, word2, word3라고 지정하자.

    그리고, 기본적으로 word1이 가장 짧은 글자라고 가정하고 shortestWord라는 변수를 선언해 할당해두자.

     
    1
    2
    3
    function findShortestOfThreeWords(word1, word2, word3) {
    let shortestWord = word1;
    }

    ]]

    조건1) 만약 첫 번째 글자보다 두 번째 글자의 길이가 더 짧다면, shortestWord에 word2를 할당해야 한다.

    조건2) '조건1'을 만족하면서, 두 번째 글자보다 세 번째 글자의 길이가 더 짧다면, shortestWord에 word3를 할당해야 한다.

    조건1을 만족하면서 조건2를 만족하는 경우를 코드로 옮기려면 if를 중첩해서 써주면 된다.(if문 안에 if문을 또 써준다)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    function findShortestOfThreeWords(word1, word2, word3) {
    let shortestWord = word1;
        if(word1.length > word2.length){
       shortestWord = word2;
         if(word2.length > word3.length){
         shortestWord = word3;
        }
    }
    }

     

     

    이제 '조건1'이 통과가 안됬을 경우를 생각해보자. 조건1이 false가 되는 경우는 첫 번째가 두 번째 글자의 길이보다 같거나 짧을 때다.

    이때 첫 번째와 세 번째가 길이가 같거나 짧다면 첫 번째를 반환해야 할테고(동률일 때 앞에 온 문자열 반환), 세 번째가 첫 번째보다 짧다면 세 번째를 반환해야 할 것이다. 기본적으로 이 함수는 첫 번째를 반환하겠다고 했으니, 세 번째를 반환하는 경우를 조건으로 제시해보자.

    조건1이 false일 때, 세 번째가 첫 번째 보다 짧으면 가장 짧은 것은 세 번째가 된다. 이 경우 shrotestWord에 word3을 할당해준다.

    마지막으로 shoretest를 return 해줌으로써 함수 선언을 마무리 한다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function findShortestOfThreeWords(word1, word2, word3) {
    let shortestWord = word1;
        if(word1.length > word2.length){
            shortestWord = word2;
            if(word2.length > word3.length){
             shortestWord = word3;
             }
        }else if(word1.length > word3.length){
        shortestWord = word3;
        }
     return shortestWord;
    }
     

    'JavaScript' 카테고리의 다른 글

    객체, 배열과 관련된 메소드들  (0) 2020.05.09
    예제를 통한 반복문의 이해  (0) 2020.05.07
    함수  (0) 2020.05.05
    조건문  (0) 2020.05.05
    변수와 타입  (0) 2020.05.05

    댓글

Designed by Tistory.