기타/study

코딩 기초 트레이닝 - 프로그래머스(차근차근 시작해 보세요 Day 4)

javaboiii 2024. 12. 26. 01:48

문제 설명

정수 num과 n이 매개 변수로 주어질 때, num이 n의 배수이면 1을 return n의 배수가 아니라면 0을 return하도록 solution 함수를 완성해주세요.


제한사항
  • 2 ≤ num ≤ 100
  • 2 ≤ n ≤ 9

 

입출력 예
num n result
98 2 1
34 3 0

입출력 예 설명

입출력 예 #1

  • 98은 2의 배수이므로 1을 return합니다.

입출력 예 #2

  • 32는 3의 배수가 아니므로 0을 return합니다.
class Solution {
    public int solution(int num, int n) {
        int answer = 0;
        if(num%n == 0){
            answer = 1;
        }
        return answer;
    }
}

문제 설명

정수 number와 n, m이 주어집니다. number가 n의 배수이면서 m의 배수이면 1을 아니라면 0을 return하도록 solution 함수를 완성해주세요.


제한사항
  • 10 ≤ number ≤ 100
  • 2 ≤ n, m < 10

입출력 예
number n m result
60 2 3 1
55 10 5 0

입출력 예 설명

입출력 예 #1

  • 60은 2의 배수이면서 3의 배수이기 때문에 1을 return합니다.

입출력 예 #2

  • 55는 5의 배수이지만 10의 배수가 아니기 때문에 0을 return합니다.
class Solution {
    public int solution(int number, int n, int m) {
        int answer = 0;
        if(number%n == 0){
            if(number%m == 0){
                answer = 1;
            }
        }
        return answer;
    }
}

문제 설명

양의 정수 n이 매개변수로 주어질 때, n이 홀수라면 n 이하의 홀수인 모든 양의 정수의 합을 return 하고 n이 짝수라면 n 이하의 짝수인 모든 양의 정수의 제곱의 합을 return 하는 solution 함수를 작성해 주세요.


제한사항
  • 1 ≤ n ≤ 100

 

입출력 예
n result
7 16
10 220

입출력 예 설명

입출력 예 #1

  • 예제 1번의 n은 7로 홀수입니다. 7 이하의 모든 양의 홀수는 1, 3, 5, 7이고 이들의 합인 1 + 3 + 5 + 7 = 16을 return 합니다.

입출력 예 #2

  • 예제 2번의 n은 10으로 짝수입니다. 10 이하의 모든 양의 짝수는 2, 4, 6, 8, 10이고 이들의 제곱의 합인 22 + 42 + 62 + 82 + 102 = 4 + 16 + 36 + 64 + 100 = 220을 return 합니다.
class Solution {
    public int solution(int n) {
        int answer = 0;
        if(n%2 == 0){
            for(int i=1; i<=n; i++){
                answer += i%2==0 ? i*i : 0;    
            }    
        }
        else {
            for(int j=1; j<=n; j++){
                answer += j%2!=0 ? j : 0;
            }
        }
        return answer;
    }
}

문제 설명

문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 합니다.

  • 두 수가 n과 m이라면
    • ">", "=" : n >= m
    • "<", "=" : n <= m
    • ">", "!" : n > m
    • "<", "!" : n < m

두 문자열 ineq와 eq가 주어집니다. ineq는 "<"와 ">"중 하나고, eq는 "="와 "!"중 하나입니다. 그리고 두 정수 n과 m이 주어질 때, n과 m이 ineq와 eq의 조건에 맞으면 1을 아니면 0을 return하도록 solution 함수를 완성해주세요.


제한 사항
  • 1 ≤ n, m ≤ 100

 

입출력 예
ineq eq n m result
"<" "=" 20 50 1
">" "!" 41 78 0

입출력 예 설명

입출력 예 #1

  • 20 <= 50은 참이기 때문에 1을 return합니다.

입출력 예 #2

  • 41 > 78은 거짓이기 때문에 0을 return합니다.
class Solution {
    public int solution(String ineq, String eq, int n, int m) {
        if (ineq.equals("<") && eq.equals("=")) {
            return (n <= m) ? 1 : 0;
        } 
        else if (ineq.equals("<") && eq.equals("!")) {
            return (n < m) ? 1 : 0;
        } 
        else if (ineq.equals(">") && eq.equals("=")) {
            return (n >= m) ? 1 : 0;
        } 
        else if (ineq.equals(">") && eq.equals("!")) {
            return (n > m) ? 1 : 0;
        }
        return 0;
    }
}

문제 설명

두 정수 a, b와 boolean 변수 flag가 매개변수로 주어질 때, flag가 true면 a + b를 false면 a - b를 return 하는 solution 함수를 작성해 주세요.


제한사항
  • -1,000 ≤ a, b ≤ 1,000

 

입출력 예
a b flag result
-4 7 true 3
-4 7 false -11

입출력 예

입출력 예 #1

  • 예제 1번에서 flag가 true이므로 a + b = (-4) + 7 = 3을 return 합니다.

입출력 예 #2

  • 예제 2번에서 flag가 false이므로 a - b = (-4) - 7 = -11을 return 합니다.
class Solution {
    public int solution(int a, int b, boolean flag) {
        int answer = 0;
        if(flag){
            answer = a + b;
        }
        else {
            answer = a - b;
        }
        return answer;
    }
}