Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 단어를 입력하는 데 걸리는 시간 계산

<시간/>

기존의 쿼티 유형 키 매핑 대신 단순히 영어 알파벳 순서, 즉 abcde...

에 따라 키를 매핑하는 키워드가 있다고 가정합니다.

문제에 대해 알아보기 전에 다음 두 가지 가정을 해야 합니다.

  • 현재 우리의 손가락 끝은 인덱스 0, 즉 'a

    키에 있습니다.
  • 한 키에서 다른 키로 이동하는 데 걸리는 시간은 해당 인덱스의 절대 차이입니다. 예를 들어 'a'에서 'k'로 이동하는 데 걸리는 시간은 |0 - 10| =10

우리는 영어 소문자 알파벳 문자열을 받아 문자열을 입력하는 데 필요한 시간을 계산하고 반환하는 JavaScript 함수를 작성해야 합니다.

예를 들어 -

입력 문자열이 -

인 경우
const str = 'dab';

출력

const output = 7;

발생한 움직임이 -

이기 때문에
'a' -> 'd' = 3
'd' -> 'a' = 3
'a' -> 'b' = 1

예시

이에 대한 코드는 -

const str = 'dab';
const findTimeTaken = (str = '') => {
   let timeSpent = 0;
   const keyboard = 'abcdefghijklmnopqrstuvwxyz';
   let curr = 'a';
   for(let i = 0; i < str.length; i++){
      const el = str[i];
      const fromIndex = keyboard.indexOf(curr);
      const toIndex = keyboard.indexOf(el);
      const time = Math.abs(fromIndex - toIndex);
      curr = el;
      timeSpent += time;
   };
   return timeSpent;
};
console.log(findTimeTaken(str));

출력

콘솔의 출력은 -

7