Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- vscode
- 연습
- grpahQL
- 알고리즘
- 개발
- this
- 초보
- 엔퀸즈
- 코드스테이츠
- 코딩
- underbar
- 취업
- 공부
- ftech
- 자바스크립트
- method
- 일상
- array
- JS
- nqueens
- 제일어려워
- 해커톤
- JavaScript
- underscores
- DOM
- 리액트
- 포스기
- react
- Instantiation Patterns
- 클라이언트
Archives
- Today
- Total
analogcoding
algorithm 연습2 본문
문제. 인자로 받는 문자열의 알파벳을 알파벳의 고유 index로 리턴.
Ex) input : "The sunset sets at twelve o' clock." =>
output : "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"
해결방안.
1. 대소문자 구분 없이 작동하게 만들기.
2. 알파벳의 고유 index를 찾기 위해 알파벳 배열 만들기.
3. 문자열을 각 요소로 만들어 배열로 담기.
4. 특수문자나 공백 걸러내기.
5. iput으로 오는 배열의 요소를 알파벳 배열에 indexOf를 사용해서 index 찾기.
6. 다시 문자열로 리턴.
먼저 함수를 생성하고 input의 값을 소문자로 통일하고 각 배열로 나눠준다. 그리고 알파벳 배열과 output이 나올 빈 배열 생성.
var alphabetPosition = function(str) {
str = str.toLowerCase(); // 소문자로 통일
str = str.split(''); // 배열로 만들기
var alpabet = "abcdefghijklmnopqrstuvwxyz"; // 알파벳 고유index를 가진 배열 생성
var result = [];
특수문자와 공백을 걸러내기 위해 for문과 if문을 사용해 각 값을 비교.
for(let i = 0 ; i < str.length; i++){
for(let j = 0; j < alpabet.length; j++){
if(str[i]===alpabet[j]){
// alpabet[j]는 알파벳뿐이라 str[i]에서 특수문자나 공백은 제외하고 알파벳일 때만 동작.
알파벳 배열에서 input에 index를 확인 후 빈 배열에 넣어주고 다시 문자열로 리턴.
result.push(1+(alpabet.indexOf(str[i]))) // alpabet 배열에서 a의 index는 0이므로 +1을 해준다.
// indexOf를 사용해서 alpabet 에서 str[i]의 index를 찾는다.
}
}
}
return result.join(' ')
}
결과 확인
'Study JS for me > Algorithm' 카테고리의 다른 글
algorithm 연습6 (0) | 2019.04.28 |
---|---|
algorithm 연습5 (0) | 2019.04.27 |
algorithm 연습4 (0) | 2019.04.27 |
algorithm 연습3 (0) | 2019.04.26 |
algorithm 연습 (0) | 2019.04.26 |
Comments