프로그래머스 Day - 4

ᵁ-ᴷᴺᴼᵂᴺ·2023년 5월 20일
post-thumbnail

1. n의 배수

목표 : 정수 num, n이 주어졌을 때, num이 n의 배수면 1출력 아니면 0출력

//입력(num, n)
98, 2
//출력
1
function solution(num, n) {
    return num%n==0 ? 1 : 0;
}
  • 3항 연산자를 사용하여 나머지가 0일때를 검사한다.

2. 공배수

정수 num, n, m가 주어질때 num이 n과 m의 공배수면 1 출력

//입력(number,n,m)
60,2,3
//출력
1
function solution(number, n, m) {
    return number%n == 0 && number%m == 0 ? 1 : 0;
}
  • 3항 연산자에 &&(AND)연산자를 넣어 조건을 검사한다.

3. 홀짝에 따라 다른 값 반환

목표 : 정수 n이 홀짝에 따라 홀수를 더하거나, 짝수의 제곱을 더하여 반환

//입력
7
//출력
//(1+3+5+7 = 16)
16
function solution(n) {
    let sum = 0;
    if (n % 2 == 0 ){
        for(var i = 2; i<=n; i=i+2){
            sum += i**2;
        }
    } else {
        for(var i = 1; i<=n; i=i+2){
            sum += i;                
        }
    }
    return sum;
}
  • sum 변수를 선언하고 n의 홀짝을 검사하여 반복문을 사용하여 sum에 짝수면 짝수의 제곱수를 더해주고, 홀수면 n까지의 홀수를 더해준다.

4. 조건 문자열

문자열로 들어온 연산자를 사용해 연산

//입력(ineq,eq,n,m)
"<","=",20,50
//출력
1
const op = {
  ">=": (n, m) => n >= m,
  "<=": (n, m) => n <= m,
  ">!": (n, m) => n > m,
  "<!": (n, m) => n < m,
};

function solution(ineq, eq, n, m) {
  return Number(op[ineq+eq](n, m));
}
  • 문자열로 받은 연산자 ineq, eq를 사용하기 위해서는 조건문으로 검사를 해야한다.
  • 하지만 key : value 형식으로 변수를 작성하게되면 코드도 간결해지고, 알고리즘만 알고있다면 기능구현이 훨씬 쉬워진다.

5. flag에 따라 다른 값 반환

목표 : flag의 참, 거짓 여부에 따라 다르게 연산하여 반환

//입력(a, b, flag)
-4, 7, true
//출력(true면 a+b, false면 a-b)
3
function solution(a, b, flag) {
    return flag ? a+b: a-b;
}
  • 3항 연산자를 사용하여 연산을 다르게 하여 출력하였다.
profile
ΔIM ΩΠ ҒULLSTΔCҜ

0개의 댓글