자료구조&알고리즘/코딩테스트
코드업 100제(JavaScript)
밍풀
2022. 12. 25. 10:37
-몫구하기
parseInt(A/B)
-비교연산자 ==, ===에 대하여 (되도록 ===쓰기)
- ☝ '==' 연산자를 이용하여 서로 다른 유형의 두 변수의 [값] 비교
- ✌ '==='는 엄격한 비교를 하는 것으로 알려져 있다 ([값 & 자료형] -> true).
🔍 숫자와 문자열 비교
✔ 자동 유형변화 비교
2 == "2" // expected output: true
✔ 두 피연산자의 유형이 다르기 때문에 ->false
2 === "2" // expected output: false
-최대공약수 구하기(유클리드호제법) function gcd부분이 유클리드
(문제는 분수 더한거 기약분수로 해서 분자분모구하기임)
1
2
3
4
5
6
7
8
9
10
11
12
13
|
function solution(denum1, num1, denum2, num2) {
var a=num1*num2;
var b=denum1*num2+denum2*num1;
function gcd(a,b){
if(b===0){
return a;
}else return gcd(b,a%b);
}
return [b/gcd(a,b), a/gcd(a,b)];
}
|
cs |
-배열 각 원소 두배한 값 들어간 배열 만들기(push, for문 이용) 방법1
1
2
3
4
5
6
7
|
function solution(numbers) {
var answer = [];
for(let i=0;i<numbers.length;i++){
answer.push(numbers[i]*2);
}
return answer;
}
|
cs |
-방법2 map 메소드 이용, 요소를 일괄적으로 변경하는 데 효과적임
1
2
3
4
5
6
7
|
function solution(numbers) {
var answer = numbers.map(function(a){
return a*2;
})
return answer;
}
|
cs |
다른 map사용예
1
2
3
4
5
6
|
// 문자열 배열에서 문자열 길이만 획득하기
var arr = ['foo', 'hello', 'diamond', 'A'];
var arr2 = arr.map(function (str) {
return str.length;
});
console.log(arr2); // [3, 5, 7, 1]
|
cs |
map안 function 간단사용예
1
2
3
4
5
6
7
8
9
|
function solution(numbers) {
var answer = numbers.map(function(a){
return a*2;
})
//var answer = numbers.map(a=>a*2)
return answer;
//아니면 바로 return numbers.map(a=>a*2);
}
|
cs |
-0<angle<90 표현 코드로 나타내면
0<angle && angle <90
-n보다 작은 짝수의 합
내풀이
1
2
3
4
5
6
|
function solution(n) {
var a = parseInt(n/2);
//Math.floor(n/2)
return a*(a+1);
}
|
cs |
다른풀이 두가지
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
function solution(n) {
var answer = 0;
for(let i=2 ; i<=n ; i+=2)
answer += i;
return answer;
}
function solution(n) {
let answer = 0;
for (let i = 0; i <= n; i++) {
if (i % 2 === 0) answer += i;
}
return answer;
}
|
cs |