난이도 : Level. 1
언어 : Javascript
출제 내역 : 연습문제
서울에서 김서방 찾기
- 주어진 배열에서 Kim을 찾아 문장 완성하기
function solution(seoul) {
var answer;
return (answer = "김서방은 " + seoul.indexOf("Kim") + "에 있다");
}
indexOf()
함수를 활용해서 문장을 완성했습니다.
문자열 다루기 기본
- 임의의 문자열이 숫자로만 이루어졌는지 판별
function solution(s) {
let answer = true;
const newArr = s.split('')
if (newArr.length === 4 || newArr.length === 6) {
for (let i = 0; i<newArr.length; i++) {
if (isNaN(newArr[i]) === true) {
answer = false
break;
}
answer = true
}
} else {
answer = false
}
return answer
}
우선 문자열의 길이가 4 혹은 6인지 판단을 먼저 하고,
문자열을 쪼개서 하나씩 숫자인지 아닌지 판별을 해줘서
하나라도 아닌게 있다면 바로 false를 출력했습니다.
function solution(s) {
var regex = /^\d{6}$|^\d{4}$/;
return regex.test(s);
}
정규 표현식을 사용하면 이렇게도 풀수 있네요..;
문자열 내림차순으로 배치하기
- 문자열을 내림차순으로 정렬
function solution(s) {
var answer = '';
const newArr = s.split('')
answer = newArr.sort((a,b) => {
if (a>b) {
return -1
} if (a<b) {
return 1
} else {
return 0
}}).join('')
return answer;
}
문자열을 분해해 주고, 내림차순으로 정렬한 뒤 다시 합쳤습니다.
문자열 내 p와 y의 개수
- 문자열에서 p와 y의 개수를 비교하자
function solution(s){
var answer = true;
const newArr = s.split('')
const pCase = newArr.filter(a => a.toLowerCase().includes('p')).length
const yCase = newArr.filter(a => a.toLowerCase().includes('y')).length
if (pCase === yCase) {
answer = true;
} else {
answer = false;
}
return answer;
}
문자열을 나눠주고, p가 있는 배열의 갯수, y가 있는 배열의 갯수를 비교해줍니다.
문자열 내 마음대로 정렬하기
- 배열로 들어온 문자열을 일정 기준을 줘서 정렬하기
function solution(strings, n) {
let answer = strings.sort((a, b) => {
if(a[n] > b[n]) return 1;
if(a[n] < b[n]) return -1;
if(a[n] === b[n]){
if(a>b) return 1;
if(a<b) return -1;
return 0;
}
});
return answer;
}
sort()
함수를 이용해서 문제를 풀이해 봤습니다.