JavaScript Katas: 상위 버전

소개 🌐



문제 해결은 일반적으로 경력과 삶에 중요한 기술입니다.

그렇기 때문에 모든 레벨의 흥미로운 카타를 가져와 사용자 정의하고 해결 방법을 설명합니다.


운동 이해하기❗



먼저 운동을 이해해야 합니다!
이해하지 못하면 풀 수 없다!.

내 개인적인 방법:
  • 입력: 무엇을 입력합니까?
  • 출력: 무엇을 꺼내고 싶습니까?



  • 오늘의 운동



    오늘은 또 다른7 kyu 카타,
    난이도를 약간 높인다는 의미입니다.

    출처: Codewars
    higherVersionversion1 의 두 매개변수를 허용하는 함수 version2 를 작성하십시오.

    예를 들어 두 개의 문자열이 주어집니다. "1.2.3""1.2.0" , 첫 번째 문자열이 두 번째 문자열보다 높으면 반환합니다. true .

    앞에 0이 없습니다. 100.020.003100.20.3로 주어진다.


    입력: 두 개의 문자열.

    출력: 부울.


    솔루션에 대한 생각 💭



    나는 그 운동을 이해하고 있다고 생각한다(= 내가 함수에 넣은 것과 그것을 통해 얻고자 하는 것).

    이제 입력에서 출력으로 이동하는 특정 단계가 필요합니다.

    나는 작은 아기 단계에서 이것을 시도합니다.
  • 첫 번째 문자열의 현재 숫자가 두 번째 문자열의 첫 번째 숫자보다 높거나 낮거나 같은지 확인합니다
  • .
  • 더 높으면 true를 반환합니다
  • .
  • 더 낮으면 false를 반환합니다
  • .
  • 같으면 두 문자열의 다음 번호로 이동하여 1단계부터 시작합니다
  • .



    예시:
  • 입력: "1.2.3", "1.2.0"
  • 첫 번째 문자열의 현재 숫자가 두 번째 문자열의 첫 번째 숫자보다 높거나 낮거나 같은지 확인: 11 => equal
  • 같으면 두 문자열의 다음 번호로 이동하여 1단계부터 시작합니다
  • .
  • 첫 번째 문자열의 두 번째 숫자가 두 번째 문자열의 두 번째 숫자보다 크거나 같은지 확인: 22 => equal
  • 같으면 두 문자열의 다음 번호로 이동하여 1단계부터 시작합니다
  • .
  • 첫 번째 문자열의 세 번째 숫자가 두 번째 문자열의 세 번째 숫자보다 높거나 낮거나 같은지 확인: 30 => higher
  • 더 높을 경우 true 반환
  • 출력: true



  • 구현 ⛑




    function higherVersion(version1, version2) {
      // split the strings into numbers
      const split1 = version1.split(".").map((s) => Number(s));
      const split2 = version2.split(".").map((s) => Number(s));
      let result = null;
    
      for (let i = 0; i < split1.length; i++) {
        if (split1[i] > split2[i]) {
          // is higher, so break out of the whole loop
          result = true;
          break;
        } else if (split1[i] < split2[i]) {
          // is smaller, so break out of the whole loop
          result = false;
          break;
        } else {
          // is equal, so check the next number
          result = false;
        }
      }
    
      return result;
    }
    


    결과




    console.log(higherVersion("1.2.3", "1.2.0"));
    // true ✅
    
    console.log(higherVersion("9", "10"));
    // false ✅
    



    놀이터 ⚽



    코드를 가지고 놀 수 있습니다 here


    다음 편 ➡️



    훌륭한 일!
    split , map , for , break 의 사용법을 배웠습니다.

    새로운 학습 내용을 사용하여 문제를 더 쉽게 해결할 수 있기를 바랍니다!

    다음 시간에는 또 다른 재미있는 카타를 풀겠습니다. 계속 지켜봐 주세요!


    특정 카타를 해결해야 한다면 메시지를 보내주세요here.

    제 최신글을 읽고 싶으시다면 get in touch with me!


    추가 읽기 📖


  • split
  • map
  • for
  • break



  • 질문 ❔


  • 카타를 얼마나 자주 하시나요?
  • 어떤 구현이 더 마음에 드시나요? 왜요?
  • 대체 솔루션이 있습니까?
  • 좋은 웹페이지 즐겨찾기