Coding Test Level1 - Day3
시저 암호
1 2 3 4 5 6 7 8 9 10 11 12 13
| function solution(s, n) { var result = "";
for (var i = 0; i < s.length; i++) { if (s[i] == " ") result += " " else result += String.fromCharCode((s.charCodeAt(i) > 90) ? (s.charCodeAt(i) + n - 97) % 26 + 97 : (s.charCodeAt(i) + n - 65) % 26 + 65 ) }
return result }
|
약수의 합
1 2 3 4 5 6 7
| function solution(num) { let sum = 0; for (let i = 1; i <= num; i++) { if (num % i === 0) sum += i } return sum }
|
이상한 문자 만들기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| function solution(s){ var result = ""; var num = 0;
for(var i = 0; i < s.length; i++){ if(s.charAt(i) == " "){ num = 0 result += " " } else if(num % 2 === 0){ result += (s.charAt(i)).toUpperCase() num++ } else { result += (s.charAt(i)).toLowerCase() num++ } } return result }
|
자릿수 더하기
1 2 3 4 5 6 7 8 9 10
| function solution(num) { let sum = 0; let str = num + "0" let i = 0; while (i < str.length - 1) { sum += str[i] / 1 i++ } return sum; }
|
자연수 뒤집어 배열로 만들기
1 2 3 4 5 6 7 8 9 10
| function solution(n){ var arr = []
do { arr.push(n%10) n = Math.floor(n/10) } while(n > 0)
return arr; }
|
정수 내림차순으로 배치하기
1 2 3 4 5 6 7 8 9 10
| function solution(n){ const newN = n + ""; const newArr = newN .split("") .sort() .reverse() .join("");
return +newArr; }
|
정수 제곱근 판별
1 2 3 4 5 6 7 8 9
| function solution(n) {
let x = Math.sqrt(n) if (Math.floor(x) === x) { return Math.pow(x + 1, 2) } else { return -1 } }
|
제일 작은 수 제거하기
1 2 3 4 5 6
| function solution(arr){ arr.splice(arr.indexOf(Math.min(...arr)), 1); if(arr.length < 1) return [-1];
return arr; }
|
짝수와 홀수
1 2 3
| function solution(num){ return num % 2 ? "Odd" : "Even" }
|
콜라츠 추측
1 2 3 4 5
| function solution(num, count = 0) { return num == 1 ? (count >= 500 ? -1 : count) : solution(num % 2 == 0 ? num / 2 : num * 3 + 1, ++count) }
|
평균 구하기
1 2 3
| function solution(arr){ return arr.reduce((a,b) => a+b) / arr.length }
|