반응형
회문 문자열 체크
회문 문제열 'abba'인지 아닌지 체크. 대/소문자는 구분하지 않는다. 'gooG' => 'true'
function solution(str) {
let answer;
// code here;
return answer;
}
답) 주어진 문자열을 반으로 갈라서 비교
function solution(str) {
let answer = true;
let capital = str.toUpperCase();
let n = str.length;
let mid = Math.floor(n/2);
for(lef i = 0; i < mid; i++) {
if(capital[i] !== capital[n - i - 1]){
answer = false;
break;
}
};
return answer;
}
답) 주어진 문자열을 거꾸로 배열하여 원 문자열과 비교
function solution(str) {
let answer = true;
let capital = str.toUpperCase();
let reverse = str.split('').reverse().join('');
if(capital !== reverse) answer = false;
return answer;
}
팰린드롬 유효성 체크
회문 문자열과 동일하다. 대소문자 구분하지 않고, 알파벳 이외의 문자는 모두 무시한다.
function solution(str) {
let answer;
// code here;
return answer;
}
let example = 'found7, time: study; Yduts; emit, 7Dnuof';
console.log(solution(example)) // true;
답) 아스키 코드를 이용한다
대문자는 65
92, 소문자는 97
122임을 이용
function solution(str) {
let answer = true;
let target = str.toUpperCase();
let reverse = str.split('').reverse().join('');
for(let i = 0; i < target.length; i++) {
let code = target[i].charCodeAt();
if(code < 65 || code > 92) {
continue;
}
if(target[i] !== reverse[i]) {
answer = false;
break;
}
};
return answer;
}
답) 정규식 이용한다.
function solution(str) {
let answer = true;
let target = str.toUpperCase();
target = target.replace(/[^A-Z]/g, '');
let reverse = target.split('').reverse().join('');
if(target !== reverse) answer = false;
return answer;
}
숫자만 추출
문자와 숫자가 섞여 있는 문자열이 주어지면, 그 숫자만 추출하여 자연수를 만든다.
function solution(str) {
let answer;
// code here;
return answer;
}
let example = 'g0en2T0s8eSoft';
console.log(solution(example)) // 208;
답) 숫자냐? isNaN 이용
function solution(str) {
let answer = '';
for(let el of str) {
if(!isNaN(el)) {
// Number(el) === NaN은 통하지 않음..
// isNam('2') false 반환함.
answer += el;
}
}
return Number(answer); //parseInt(answer)가능
//0208일 경우, 208 자연수를 리턴해야 하기 때문
}
답) 정규식 이용
/[]
괄호에 해당하는것
/[^]
괄호에 해당하지 않는 것
/g
전체를 적용할 것.
/[a-zA-Z]
알파벳
/[^a-zA-Z]
알파벳 제외하고
function solution(str) {
let answer = str.replace(/[^0-9]/g, '');
return parseInt(answer);
}
반응형
'2. 우당탕탕 개발자 > 2-1. 공부기록' 카테고리의 다른 글
2021.8.4 TIL 자리수의 합, 뒤집은 소수, 멘토링 경우의 수 (0) | 2021.08.04 |
---|---|
2021.8.3 TIL 문자거리, 문자열 압축 (0) | 2021.08.03 |
2021.7.31 TIL (격차판 최대합, 봉우리) (0) | 2021.07.31 |
2021.7.30 TIL (보이는 학생, 가위바위보, 점수구하기, 등수구하기) (0) | 2021.07.30 |
2021.7.28 TIL (중복문자 제거, 배열 큰 수 출력) (0) | 2021.07.28 |
댓글