희락코딩

findShortestOfThreeWords 본문

프로그래밍/코드 문제 풀이

findShortestOfThreeWords

Hello JoyCoding 2021. 4. 9. 16:37
728x90
반응형

문제 function findShort(word1, word2, word3) {}

 

차례대로 문자열 3개를 입력받아, 가장 짧은 문자열을 리턴해야 합니다.

  1. 동일한 길이의 문자열 중에서는 처음 입력받은 문자열을 리턴합니다.
  2. string 타입으로 리턴

 

// 수도 코드 작성//

// 비교할 매개 변수의 문자열 길이를 새로운 변수에 담아 준다.
// 최소값을 나타내 주는 Math.min 메서드를 활용한다.
// word1 이 짧을 경우의 조건 word1 반환
// word2 이 짧을 경우의 조건 word2 반환
// word3 이 짧을 경우의 조건 word3 반환

 

▶ 코드 작성

 

1
2
3
4
5
6
7
8
9
10
11
12
13
function findShort(word1, word2, word3) {    
  let wo1 = word1.length
  let wo2 = word2.length
  let wo3 = word3.length
 
  if(Math.min(wo1,wo2,wo3) === wo1){
    return word1;
  }else if(Math.min(wo1,wo2,wo3) === wo2){
    return word2;
  }else if(Math.min(wo1,wo2,wo3) === wo3){
    return word3;
  }
}
cs

 

 

▶ 문제 풀이

 

가장 짧은 문자열을 구하기 위해서 매개변수 word1 , word2, word3을 길이를 알 수 있게 .length를 활용해서 각각의 변수로 담아 줍니다. 

 

3가지의 짧은 문자열을 비교하기 위해서 효율적으로 짧은 문자열을 찾는 메서드가 있습니다.

 

Math.min() 메서드는 가장 짧은 문자열을 반환해 주는 메서드 입니다.

 

우리는 이 메서드를 활용해서 wo1가 짧은 경우의 조건과 wo2가 짧은 경우의 조건, wo3가 짧은 경우의 조건을 각각 적어 가장 짧은 문자열을 반환 합니다.

 

 

▶ 번외

 

그렇다면 짧은 문자열이 아닌 문자열의 길이를 반환 하려면 어떻게 해야 될까요 ?

 

1
2
3
4
5
6
7
8
9
10
11
12
13
function findShort(word1, word2, word3) {    
  let wo1 = word1.length
  let wo2 = word2.length
  let wo3 = word3.length
 
  if(Math.min(wo1,wo2,wo3) === wo1){
    return wo1 //문자열 길이 반환
  }else if(Math.min(wo1,wo2,wo3) === wo2){
    return wo2; // 문자열 길이 반환
  }else if(Math.min(wo1,wo2,wo3) === wo3){
    return wo3; //문자열 길이 
  }
}
cs

 

리턴 값에 길이를 지정한 변수 값을 리턴하면 됩니다.

728x90
반응형

'프로그래밍 > 코드 문제 풀이' 카테고리의 다른 글

addToBackOfNew & addToFrontOfNew  (0) 2021.04.25
getEvenNumbers  (1) 2021.04.24
makeLastSeenMsg  (0) 2021.04.09
isPythagorean  (0) 2021.04.09
isEitherEvenAndLessThan8  (0) 2021.04.09
Comments