-
예제를 통한 조건문의 이해JavaScript 2020. 5. 6. 22:13
문제
: 문자열 3개가 주어졌을 때, 주어진 문자열 중 가장 짧은 문자열을 반환하는 함수 "findShortestWords"를 만들어보자.
만약 문자열의 길이가 같다면, 그 중 앞에 있는 문자열을 반환해야 한다.
매개변수는 word1, word2, word3라고 지정하자.
그리고, 기본적으로 word1이 가장 짧은 글자라고 가정하고 shortestWord라는 변수를 선언해 할당해두자.
123function findShortestOfThreeWords(word1, word2, word3) {let shortestWord = word1;}
]]조건1) 만약 첫 번째 글자보다 두 번째 글자의 길이가 더 짧다면, shortestWord에 word2를 할당해야 한다.
조건2) '조건1'을 만족하면서, 두 번째 글자보다 세 번째 글자의 길이가 더 짧다면, shortestWord에 word3를 할당해야 한다.
조건1을 만족하면서 조건2를 만족하는 경우를 코드로 옮기려면 if를 중첩해서 써주면 된다.(if문 안에 if문을 또 써준다)
12345678
9function 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 해줌으로써 함수 선언을 마무리 한다.
123456789101112function 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