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
- grpahQL
- 해커톤
- underscores
- 제일어려워
- array
- 리액트
- 개발
- 일상
- 초보
- vscode
- method
- 자바스크립트
- JavaScript
- 코드스테이츠
- nqueens
- 엔퀸즈
- 포스기
- 취업
- this
- 코딩
- react
- 알고리즘
- 연습
- 클라이언트
- Instantiation Patterns
- underbar
- JS
- 공부
- ftech
- DOM
Archives
- Today
- Total
analogcoding
algorithm 연습 본문
문제. 인자로 받는 문자열의 값이 연속된 홀수일 경우 홀수와 홀수 사이에 '-'를 입력한 후 리턴.
Ex) input : '454793' => output : '4547-9-3'
해결방안.
1. 문자열을 하나씩 분리해서 배열에 각 요소를 담음.
2. 값이 홀수인지 확인.
3. 연속된 문자열 또한 홀수일시 '-' 추가.
4. 다시 배열을 문자열로 합침.
먼저 문자열을 인자로 받는 함수를 만들어준다.
var DashInsert = function(str){
}
문자열을 분리해서 배열로 만들고 for문과 if문으로 값이 홀수인지 확인.
str = str.split('')
for(let i = 0; i < str.length; i++){
if(Number(str[i])%2!==0 &&
Number(str[i+1])%2!==0 &&
i+1 < str.length){
/* str[i]는 문자열 상태이므로 Number()를 사용해서 숫자로 바꾼 후 홀수인지 판별한다.
str[i]와 str[i+1] 이 모두 홀수이고 i+1 의 값이 str.length 보다
길지 않아야 문자열 끝에 - 붙는 일이 없음 */
홀수로 판별된 요소에 '-' 를 더해준 뒤 다시 배열을 문자열로 합친 후 리턴.
str[i] = str[i] + '-'
}
}
return str.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 연습2 (0) | 2019.04.26 |
Comments