문자열 중간 값 추출하기
if (s.length % 2 == 0 ) { // 짝수일 경우,
answer = s[s.length / 2 - 1] + s[s.length / 2];
} else {
answer = s[Math.floor(s.length/2)]; // 홀수일 경우, 반내림 하기
}
자리수 더하기
function solution(a, b) {
var answer = 0;
if(a < b) //a가 b보다 작은경우
{
for (let i = a; i <= b; i++)
{
answer = answer + i
}
return answer
}
else if(a == b)
{
answer = a;
return answer;
}
for (let i = b; i <= a; i++) //a가 b보다 큰경우
{
answer = answer + i
}
return answer
}
x만큼 간격이 있는 n개를 리턴해라
//문제 : X만큼 간격이 있는
function solution(x, n) {
var answer = [];
for(var i=1; i<=n; i++)//n은 자연수의 갯수니깐 그 길이만큼 for문을 활용한다.
{
answer.push(x*i);//x의 간격만큼 곱해준다.
}
return answer;
}
console.log(solution(2,5))
나누어 떨어지는 숫자 배열
function solution(arr, divisor) {
var answer = [];
for(let i = 0; i < arr.length; i++) //배열의 길이만큼 for문이 실행된다.
{
if(arr[i] % divisor === 0) //divisor의 값으로 나누어 지는 것만 답안지 배열에 넣는다.
{
answer.push(arr[i]);
}
}
if(answer.length === 0) //아무것도 없을때 예외처리
{
answer.push(-1);
}
answer.sort(function(a, b) {//오름 차순 정렬
return a - b;
});
return answer;
}
문자열 다루기 기본
// 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요.
// 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
function solution(s) {
var answer = 0;
if (!(s.length == 4 || s.length == 6)){//먼저 문자열의 길이가 4 혹은 6인지 확인하기
return false
} else {//맞다면 문자열의 안에 숫자가 있는지 없는지 확인하기
const tmp = s.split('')
for(let i =0;i<tmp.length;i++){
if (isNaN(tmp[i])){
return false
}
}
}
//모두 맞으면 true반환
return true;
}
완주하지 못한 사람
function solution(participant, completion) {
var answer = '';
participant.sort()//두 배열의 중복되지 않은 사람을 쉽게 찾기 위해 정렬을 해준다.
completion.sort()
for(let i = 0; i<participant.length; i++)//참가명단과 완주한 명단을 비교하여 일치하지 않는 사람을 반환해준다.
{
if(participant[i] != completion[i])
{
return answer = participant[i];
}
}
}
자연수 뒤집기
//테스트 1번 값은 통과 했지만 정확성 테스트에서 실패가 뜸
//왜?? 425041같은 경우 는 120523가 되야하는데
//내림차순으로 정렬을 하였기 때문에 정확성에서 실패가 뜬 거 같다.
function solution(n) {
var arr = n.toString().split('');
var answer = [];
for(var i = 0; i < arr.length; i++){
answer.push(Number(arr[i]));
}
answer.sort((a,b) => b - a);//내림차순 정렬로 인한 오류로 무조건 sort는 좋지않다.
return answer;
}
//수정 코드
function solution(n) {
var arr = n.toString().split('');
var answer = [];
for(var i=arr.length-1; i>=0; i--){
answer.push(Number(arr[i]));
}
return answer;
}
제일 작은 수 제거하기
function solution(arr) {
var answer = arr;
var min = arr[0];//최소값을 임의 값으로 준다.
if(answer.length === 1)//최소값을 반환할게 없을시 예외처리
{
return [-1]
}
else
for(let i = 0; i < arr.length; i++)
{
if(arr[i] < min)//배열에 최소값을 구한다.
{
min = arr[i];
}
}
arr.splice(arr.indexOf(min),1)//splice함수는 특정 배열 요소를 삭제시키고 특정값을 찾아주는 indexOf 함수를 이용해서 최소값을 제거해준다.
return arr;
}