1. 대문자와 소문자
function solution(my_string) {
let answer = '';
for(const s of my_string) {
if(s === s.toLowerCase()) answer += s.toUpperCase();
else answer += s.toLowerCase();
}
return answer;
}
2. 인덱스 바꾸기
function solution(my_string, num1, num2) {
let answer = '';
for(let i = 0; i < my_string.length; i++) {
if(i === num1) answer += my_string[num2];
else if(i === num2) answer += my_string[num1];
else answer += my_string[i];
}
return answer;
}
3. 약수 구하기
function solution(n) {
const answer = [];
for(let i = 1; i <= Math.sqrt(n); i++) {
if(n % i === 0) {
answer.push(i);
if(i*i != n) {
answer.push(n / i);
}
}
}
return answer.sort((a, b) => a - b);
}
4. 가장 큰 수 찾기
function solution(array) {
const max = Math.max(...array);
return [max, array.indexOf(max)];
}
5. 문자열 정렬하기 (1)
function solution(my_string) {
const answer = [];
for(const s of my_string) {
if(!isNaN(s)) answer.push(Number(s));
}
return answer.sort((a, b) => a - b);
}
6. 암호 해독
function solution(cipher, code) {
return cipher.split('').filter((_, i) => (i+1) % code === 0).join("");
}
7. 주사위의 개수
function solution(box, n) {
return Math.floor(box[0] / n) * Math.floor(box[1] / n) * Math.floor(box[2] / n);
}
8. 문자열 정렬하기 (2)
function solution(my_string) {
return [...my_string.toLowerCase()].sort().join("");
}
9. 제곱수 판별하기
function solution(n) {
return Number.isInteger(Math.sqrt(n)) ? 1 : 2;
}
10. 피자 나눠 먹기 (2)
function solution(n) {
let gcd = 1;
for(let i=2; i<=Math.min(n, 6); i++){
if(n % i === 0 && 6 % i === 0){
gcd = i;
}
}
return n / gcd;
}
11. 외계행성의 나이
function solution(age) {
return age
.toString()
.split('')
.map(i => "abcdefghij"[i])
.join('');
}
12. 배열 회전시키기
function solution(numbers, direction) {
if(direction === "right") numbers.unshift(numbers.pop());
else numbers.push(numbers.shift());
return numbers;
}
13. 369게임
function solution(order) {
return order.toString().split("").filter((a) => a === "3" || a === "6" || a === "9").length;
}
14. 숫자 찾기
function solution(num, k) {
const nList = num.toString().split("");
return nList.includes(k.toString()) ? nList.indexOf(k.toString()) + 1 : -1;
}
15. 합성수 찾기
function solution(n) {
let answer = 0;
for(let i = 4; i <= n; i++){
const list = [];
for(let j = 1; j <= Math.sqrt(i); j++) {
if(i % j === 0) {
list.push(j);
if(j * j != n) list.push(i / j);
}
}
if(list.length >= 3) answer++;
}
return answer;
}
16. 중복된 문자 제거
function solution(my_string) {
return [...new Set(my_string)].join("");
}
17. 모스부호 (1)
function solution(letter) {
const morse = {
'.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f',
'--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l',
'--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r',
'...':'s','-':'t','..-':'u','...-':'v','.--':'w','-..-':'x',
'-.--':'y','--..':'z'
}
return letter.split(" ").map(l => morse[l]).join("");
}
18. 2차원으로 만들기
function solution(num_list, n) {
let answer = [];
for (let i = 0; i < num_list.length; i += n) {
answer.push(num_list.slice(i, i + n));
}
return answer;
}
19. k의 개수
function solution(i, j, k) {
let answer = 0;
for(let s = i; s <= j; s++){
answer += s.toString().split(k).length - 1
}
return answer;
}
20. A로 B만들기
function solution(before, after) {
return [...before].sort().join('') === [...after].sort().join('') ? 1 : 0;
}
728x90
반응형
'LG 유플러스 유레카 SW > 과제' 카테고리의 다른 글
[과제] JS 프로그래머스 Lv.2 3문제 (25.02.20) (0) | 2025.02.20 |
---|---|
[과제] JS 프로그래머스 입문 15문제 & 머쓱이 획득 (25.02.19) (0) | 2025.02.19 |
[과제] JS 프로그래머스 입문 20문제 (25.02.18) (0) | 2025.02.18 |
[과제] JS 프로그래머스 입문 40문제 中 25문제🥲 (25.02.14-15) (0) | 2025.02.17 |
[과제] JS 프로그래머스 입문 20문제 (25.02.13) (0) | 2025.02.13 |