알고리즘 - freeCodeCamp - translatePigLatin

NO PAIN, NO GAIN·2019년 11월 21일
0

algorithm

목록 보기
2/18
  1. 앞글자가 모음으로 시작하면 맨 뒤에 "way"를 더한 단어를 반환하시오.
    ex) algorithm -> algorithmway
    eight -> eightway
  2. 앞글자가 자음으로 시작하면 모음이 나오기 전까지의 글자를 단어 맨 뒤에 더하고 "ay"를 추가한다.
    ex) california -> aliforniacay
    paragraphs -> aragraphspay
    glove -> oveglay

해결

function translatePigLatin(str) {
  let vowels = /a|e|i|o|u/; // 모음을 찾기 위해서 정규 표현식을 사용
  let searchVowel = str.search(vowels);
   // search 메소드로 모음을 찾을 시 결과는 없다면, -1 있다면 0 이상의 index 값이 반환된다.
  if (searchVowel === 0) { // searchVowel의 결과가 0 이면
    return `${str}way` // 단어 끝에 "way"를 더한다.
  } else if (searchVowel === -1) { // searchVowel의 결과가 -1 이면
    return `${str}ay` // 단어 끝에 "ay"를 더한다.
  } else if (searchVowel > 0) {
    let preVowel = str.slice(searchVowel); // 앞글자가 모음으로 시작
    let notVowel = str.slice(0, searchVowel); // 모음 이전까지의 자음들
    return `${preVowel}${notVowel}ay`;
  }
}
profile
갈고 닦자.

0개의 댓글