반응형
1. 문제
- 문자열 s가 주어질 때, 모음의 순서를 뒤집은 문자열을 반환하라
- IceCreAm의 모음 순서는 I, e, e, A => A, e, e, I로 뒤집어 바꾼 뒤 반환.
2. 해결
function reverseVowels(s: string): string {
const vowels = [97, 101, 105, 111, 117];
const strVowels = [];
for(const char of s) {
if (vowels.includes(char.toLowerCase().charCodeAt(0))) {
strVowels.push(char)
}
}
strVowels.reverse();
const sArr = s.split('');
let pointer = 0;
for(let i = 0; i< sArr.length; i++) {
if (vowels.includes(sArr[i].toLowerCase().charCodeAt(0))) {
sArr[i] = strVowels[pointer];
pointer++;
}
}
return sArr.join('')
};
- 아스키 코드값을 활용해서 모음 순서를 담는 배열을 생성.
- 모음 순서 배열을 뒤집은 뒤, 값을 바꿔준다.