just do it

코드업 100제(JavaScript) 본문

자료구조&알고리즘/코딩테스트

코드업 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