728x90
반응형
문제
In this exercise, you are required to, given a string, replace every letter with its position in the alphabet. (문자열이 주어졌을때, 각각의 문자를 알파벳의 몇번째 인지 숫자로 바꾸는 함수를 작성하세요.) If anything in the text isn't a letter, ignore it and don't return it. a being 1, b being 2, etc. (만약 문자가 알파벳이 아니라면, 무시하고 결과값에 포함하지 마세요. a 는 1, b 는 2, 등등 으로 변환됩니다.)
예시
alphabetPosition("The sunset sets at twelve o' clock."); // "20 8 5 19 21 14 19 5 20 19 5 20 19 1 20 20 23 5 12 22 5 15 3 12 15 3 11"
나의 코드
var alphabetPosition = function(str) {
let strArr = str.toUpperCase().split('');
let resultArr = strArr.filter(function(el){
let number = el.charCodeAt(0);
return number > 64 && number < 123;
});
let result = '';
for(let i = 0 ; i < resultArr.length ; i++){
result += resultArr[i].charCodeAt(0)-64+" ";
}
return result.substring(0,result.length-1);
}
모델 솔루션
function alphabetPosition(string) {
let chars = 'abcdefghijklmnopqrstuvwxyz'.split('')
string = string.toLowerCase();
let charArr = string.split('')
return charArr.map(function(char) {
return chars.indexOf(char) + 1
}).filter(function(position) {
return position !== 0;
}).join(' ')
}
느낀점(아무말)
나는 아스키코드밖엔.....생각하지못했는데..
사실 솔루션 보자마자 머리를 한대 맞은것같았다.
이래서 페어프로그래밍이 필요하구나! 느낀문제
반응형
'알고리즘' 카테고리의 다른 글
[JS] 자료구조 - 코드 구현 전체 (0) | 2019.11.27 |
---|---|
복잡도 분석, 시간복잡도 (0) | 2019.11.18 |
[JS] _.shuffle 구현 (0) | 2019.11.17 |
[JS] 만일 reduce를 잊는다면 일어나는일 (0) | 2019.09.30 |
[JS] reduce예제 (0) | 2019.09.29 |