728x90
1. 짝수 홀수 개수
function solution(num_list) {
var answer = [0,0];
for(let i = 0; i < num_list.length; i++) answer[num_list[i] % 2]++;
return answer;
}
2. 두 수의 합
function solution(num1, num2) {
var answer = -1;
return num1+num2;
}
3. 문자열 뒤집기
function solution(my_string) {
let emptyMyString= [];
for(let i = my_string.length - 1; i >= 0; i--) {
emptyMyString+=my_string[i];
}
return emptyMyString;
}
4. 점의 위치 구하기
function solution(dot) {
let answer = 0;
if(dot[0] > 0 ) {
if(dot[1] > 0 ) {
answer = 1;
} else {answer = 4;}
} else if (dot[0] < 0 ) {
if(dot[1] > 0) {
answer = 2;
} else {
answer = 3;
}}
return answer;
}
5. 아이스 아메리카노
function solution(money) {
const iceCoffeePrice= 5500
let iceCoffeeCup = money / iceCoffeePrice;
let change = money - (Math.floor(iceCoffeeCup) * iceCoffeePrice);
let iceCoffeeArray = [Math.floor(iceCoffeeCup),change ];
return iceCoffeeArray;
}
6. 삼각형의 완성조건(1)
function solution(sides) {
let organizeArray = sides.sort();
for(let i = 0; i< organizeArray.length; i++) {
if(organizeArray[0]+organizeArray[1] < organizeArray[2]) {
return 2;
} else if(organizeArray[0]+organizeArray[1] > organizeArray[2]) {
return 1;
} return 2;
}
}
7. 배열의 유사도
function solution(s1, s2) {
var answer = 0;
for(let i = 0; i < s1.length; i++) {
for(let j =0; j < s2.length; j ++) {
if(s1[i]==s2[j]) {
answer++;
}
}
}
return answer;
}
8. 머쓱이보다 키 큰 사람
function solution(array, height) {
const moreHeight = array.filter(num => num > height)
return moreHeight.length;
}
9. 피자 나눠 먹기(1)
function solution(n) {
let pizzaNum = n / 7;
return Math.ceil(pizzaNum);
}
10. 자릿수 더하기
function solution(n) {
let answer = 0;
let numToString = n.toString().split('');
for(i of numToString) {
answer += Number(i);
}
return answer;
}
11. 모음 제거
function solution(my_string) {
return my_string.replace(/['a','e','i','o','u']/g, '');
}
12. 배열 원소의 길이
function solution(strlist) {
var answer = [];
for(let i = 0; i < strlist.length; i++) {
answer.push(strlist[i].length);
}
return answer;
}
13. 순서쌍의 개수
function solution(n) {
var answer = [];
for(let i = 1; i <= n; i++) {
if( n % i === 0)
answer.push(i);
}
return answer.length;
}
14. n의 배수 고르기
function solution(n, numlist) {
var answer = [];
let num = 0;
for(let i = 0;i <= numlist.length; i++) {
num = numlist[i];
if(num % n == 0) {
answer.push(num);
}
}
return answer;
}
15. 제곱수 판별하기
function solution(n) {
var answer = 0;
for(let i = 0; i*i <= n; i++) {
if(i*i === n){
return 1;
}
}
return 2;
}
16. 중복된 숫자 개수
function solution(array, n) {
let realAnswer = [];
for(let i = 0; i < array.length; i++) {
if(array[i] === n) {
realAnswer.push(array[i]);
}
}
return realAnswer.length;
}
17. 배열 두 배 만들기
function solution(numbers) {
var answer = [];
for(let i = 0; i < numbers.length; i++) {
answer[i] = numbers[i] * 2
}
return answer;
}
18. 중앙값 구하기
function solution(array) {
var answer = 0;
let newArray = [];
let arrayCnt = 0;
while (arrayCnt < array.length) {
let minNum = 1000;
let cnt = 0;
while (cnt < array.length) {
if (minNum > array[cnt]) {
minNum = array[cnt];
}
cnt = cnt + 1;
}
newArray.push(minNum);
let cnt2 = 0;
while (cnt2 < array.length) {
if (minNum === array[cnt2]) {
array[cnt2] = 1000;
break;
}
cnt2 = cnt2 + 1;
}
arrayCnt = arrayCnt + 1;
}
console.log("newArray: ", newArray);
return newArray[Math.floor(array.length / 2)];
}
19. 짝수는 싫어요
function solution(n) {
let oddNum= [];
for(let i = 1; i <= n; i++){
if(i % 2 === 1) {
oddNum.push(i);
}
}
return oddNum;
}
20. 옷가게 할인 받기
function solution(price) {
if(price >= 500000) {
return Math.floor(price - (price * 0.2));
}
if(price >= 300000) {
return Math.floor(price - (price * 0.1));
}
if(price >= 100000) {
return Math.floor( price - (price * 0.05));
}
return Math.floor(price);
}
21. 개미 군단
function solution(hp) {
let antsPower = Math.floor(hp/5) + Math.floor((hp%5)/3)+Math.floor(((hp%5)%3)/1);
return antsPower;
}
22. 가위바위보
function solution(rsp) {
let answer = '';
for (let i = 0; i < rsp.length; i++) {
if (rsp[i] === '2') {
answer += '0'
} else if (rsp[i] === '0') {
answer += '5'
} else if(rsp[i] === '5') {
answer += '2'
}
} return answer;
}
23. 숨어있는 숫자의 덧셈(1)
function solution(my_string) {
let answer = 0;
const num = my_string.replace(/[^0-9]/g, "");
for (let i = 0; i < num.length; i++) {
answer += parseInt(num[i], 10);
}
return answer;
}
24. 최댓값 만들기 (2)
function solution(numbers) {
let answer = -Infinity;
// let absNumbers = numbers.map(Math.abs);
let sortedNumbers= numbers.sort((a, b) => a - b);
for(let i = 0; i < sortedNumbers.length; i++) {
for(let j = i+1; j < sortedNumbers.length; j++) {
let multiplyNum = sortedNumbers[i]*sortedNumbers[j];
if(multiplyNum > answer) {
answer = multiplyNum;
}}
}return answer;
}
sort() 메서드는 배열 순서를 직접 조작한다.
문자열에서는 sort()를 작성하면 오름차순으로 되지만 숫자 배열에서는 비교 함수가 필요하다.
숫자 배열에서의 오름 차순 정렬 방법
numbers.sort((a, b) => a - b);
내림차순 정렬 방법
numbers.sort((a, b) => b - a);
25. 대문자와 소문자
function solution(my_string) {
var answer = '';
for (let i = 0; i < my_string.length; i++) {
let oneString = my_string[i];
if (oneString == oneString.toUpperCase()) {
answer += oneString.toLowerCase();
} else answer += oneString.toUpperCase();
}
return String(answer);
}
26. 인덱스 바꾸기
function solution(my_string, num1, num2) {
my_string=my_string.split('');
[my_string[num1], my_string[num2]]=[my_string[num2],[my_string[num1]]];
return my_string.join('');
}
27. 약수 구하기
function solution(n) {
let emptyList = [];
for (let i = 0; i <= n; i++) {
if (n % i == 0) {
emptyList.push(i);
}
}
return emptyList;
}
28. 가장 큰 수 찾기
function solution(array) {
var answer = [];
let max = Math.max(...array);
answer.push(max);
let findIndexNum = array.indexOf(max);
answer.push(findIndexNum);
return answer;
}
29. 문자열 정렬하기 (1)
function solution(my_string) {
let emptyValue = my_string.replace(/[a-z]/g, '');
let emptyValue2 = Array.from(String(emptyValue), Number);
return emptyValue2.sort();
}
30. 암호해독
function solution(cipher, code) {
var answer = '';
cipher = cipher.split('');
for (let i = code - 1; i < cipher.length; i += code) {
answer += cipher[i];
}
return answer;
}
31. 주사위 개수
function solution(box, n) {
let answer = 1;
for (let i = 0; i < box.length; i++) {
answer *= Math.floor(box[i] / n);
}
return answer;
}
32. 문자열 정렬하기 (2)
// 소문자로 바꾼뒤 오름차순 정렬
function solution(my_string) {
return my_string.toLowerCase().split('').sort().join('');
}
33. 제곱수 판별하기
function solution(n) {
var answer = 0;
for (let i = 0; i * i <= n; i++) {
if (i * i === n) {
return 1;
}
}
return 2;
}
34. 피자 나눠 먹기 (2)
function solution(n) {
let pizzaNum = n / 7;
return Math.ceil(pizzaNum);
}
35. 외계행성의 나이
function solution(age) {
var answer = '';
const ageString = age.toString();
var cnt = 0;
while (cnt < ageString.length) {
answer += String.fromCharCode(ageString[cnt].charCodeAt(0) + 49);
cnt++;
}
return answer;
}
36. 배열 회전시키기
function solution(numbers, direction) {
if (direction === 'right') {
let numPop = numbers.pop();
numbers.unshift(numPop);
} else {
let numPop = numbers.shift();
numbers.push(numPop);
}
return numbers;
}
37. 369게임
function solution(order) {
var answer = 0;
let count = 0;
let number = order.toString().replace(/\B(?=(\d{1})+(?!\d))/g, ',');
for (let i = 0; i < number.length; i++) {
if (number[i] == 3 || number[i] == 6 || number[i] == 9) {
count++;
}
}
return count;
}
38. 숫자 찾기
function solution(num, k) {
let answer = -1;
let number = String(num);
for (let i = 0; i < number.length; i++) {
if (Number(number[i]) === k) {
answer = i + 1;
return answer;
}
}
return answer;
}
39. 합성수 찾기
function solution(n) {
let answer = 0;
for(let i = 1; i <= n; i++) {
for(let j = 2; j < i; j++) {
if(i % j === 0) {
answer++;
break;
}
}
}
return answer;
}
40. 중복된 문자 제거
function solution(my_string) {
let result = '';
for (let i = 0; i < my_string.length; i++) {
let char = my_string[i];
let duplication = false;
for (let j = 0; j < result.length; j++) {
if (result[j] == char) {
duplication = true;
break;
}
}
if (!duplication) {
result += char;
}
}
return result;
}
728x90
'💡 URECA > ⌨️ 프로그래머스' 카테고리의 다른 글
[URECA] 프로그래머스 | 기초 | 자바 <- 업로드 중 (1) | 2025.02.19 |
---|---|
[URECA] 프로그래머스 | 기초 | Java <- 업로드 중 (0) | 2025.02.18 |
[URECA] 프로그래머스 | 30문제 | 자바 <- 업로드 중 (-9) (0) | 2025.02.14 |
[URECA] 프로그래머스 | 기초 | Java (0) | 2025.02.14 |
[URECA] 프로그래머스 | 입문 | JS (0) | 2025.02.13 |