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 |
Tags
- array
- Instantiation Patterns
- 알고리즘
- 리액트
- DOM
- 코드스테이츠
- 초보
- JavaScript
- 개발
- ftech
- 클라이언트
- 공부
- method
- JS
- 제일어려워
- react
- underscores
- vscode
- 코딩
- 포스기
- 일상
- 엔퀸즈
- 취업
- 해커톤
- grpahQL
- this
- nqueens
- 자바스크립트
- underbar
- 연습
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