728x90
1. 문자열 내림차순으로 배치하기
function solution(s) {
var answer = "";
answer = s.split("").sort().reverse().join("");
return answer;
}
2. 문자열 다루기 기본
function solution(s) {
var answer = true;
const number = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
for (let i = 0; i < s.length; i++) {
if (number.indexOf(+s[i]) == -1) {
answer = false;
break;
}
}
if (s.length < 4 || s.length > 6 || s.length == 5) {
answer = false;
}
return answer;
}
다른사람 풀이 본 후
function solution(s) {
const reg = /^\d{4}$|^\d{6}$/;
return reg.test(s);
}
정규표현식의 test를 통해 boolean값을 return하여 바로 나오게끔 했다.
3. 약수의 개수와 덧셈
function solution(left, right) {
var answer = 0;
for (let i = left; i <= right; i++) {
const divisor = [];
for (let k = 1; k <= i; k++) {
if (i % k == 0) {
divisor.push(k);
}
}
answer += divisor.length % 2 ? -i : i;
}
return answer;
}
다른사람 풀이 본후 : 제곱근이 정수이면 약수의 개수는 짝수이다.
4. 행렬의 덧셈
function solution(arr1, arr2) {
for (let i = 0; i < arr1.length; i++) {
for (let k = 0; k < arr1[i].length; k++) {
arr1[i][k] += arr2[i][k];
}
}
return arr1;
}
5. 직사각형 별찍기
process.stdin.setEncoding("utf8");
process.stdin.on("data", (data) => {
const n = data.split(" ");
const a = Number(n[0]),
b = Number(n[1]);
let star = "";
for (let i = 0; i < b; i++) {
for (let j = 0; j < a; j++) {
star += "*";
}
console.log(star);
star = "";
}
});
다른사람 풀이 본 후
process.stdin.setEncoding("utf8");
process.stdin.on("data", (data) => {
const n = data.split(" ");
const a = Number(n[0]),
b = Number(n[1]);
let star = "*".repeat(a);
for (let i = 0; i < b; i++) {
console.log(star);
}
});
repeat을 사용하여 가독성 높임
6. 부족한 금액 계산
function solution(price, money, count) {
var answer = 0;
let totalPrice = 0;
for (let i = 1; i <= count; i++) {
totalPrice += price * i;
}
answer = money >= totalPrice ? 0 : totalPrice - money;
return answer;
}
7. 최솟값 만들기
function solution(A, B) {
var answer = [];
A.sort((a, b) => a - b);
B.sort((a, b) => b - a);
answer = A.reduce((acc, cur, idx) => acc + cur * B[idx], 0);
return answer;
}
728x90
'개발 > 알고리즘' 카테고리의 다른 글
[BigO] BigO 표기법 (0) | 2022.09.26 |
---|---|
[코딩테스트] 최대공약수와 최소공배수 (0) | 2022.09.20 |
[프로그래머스 level2] Jaden Case문자열 만들기 (0) | 2022.09.14 |
[2022.09.13] 프로그래머스 문제 모음 (0) | 2022.09.13 |
[2022.09.12]프로그래머스 문제 모음 (0) | 2022.09.13 |