프로그래머스 문제풀이/알고리즘 (JAVA)

[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (206~214번 문제풀이)

남건욱 2023. 10. 20. 14:58

목차

    반응형
    206. 조건 문자열

    문제

    class Solution {
        public int solution(String ineq, String eq, int n, int m) {
            if(eq.equals("=")){
                if(ineq.equals(">")){
                    if(n >= m) return 1;
                    else return 0;
                } else{
                    if(n <= m) return 1;
                    else return 0;
                }
            } else{
                if(n != m){
                    if(ineq.equals(">")){
                        if(n > m) return 1;
                        else return 0;
                    } else{
                        if(n < m) return 1;
                        else return 0;
                    }
                } else{
                    return 0;
                }
            }
        }
    }

    <작성한 코드>

    조건문을 사용했다. eq가 =일 때 >와 <를 비교해 주고 내부에서는 조건식이 맞는지 체크한다. 또한 아래에서는 eq가 =가 아닌! 일 때 비교하도록 했고 우선적으로 n!= m 이 참이면 그 뒤 조건문을 검사했다. n!= m이 참이 아니라면 0을 반환한다.

     

     

     

    207. 홀짝에 따라 다른 값 반환하기

    문제

    class Solution {
        public int solution(int n) {
            int answer = 0;
            
            if(n%2 != 0){
                for(int i=1; i<=n; i+=2){
                    answer += i;
                }
            } else{
                for(int i=2; i<=n; i+=2){
                    answer += i*i;
                }
            }
            
            return answer;
        }
    }

    <작성한 코드>

    간단한 문제였다. 홀수라면 answer에 1부터 2씩 증가시킨 수를 더해줬고, 짝수라면 2부터 2씩 더 해서 각 짝수들의 제곱을 answer에 더해주고 반환했다.

     

     

     

    208. 공배수

    문제

    class Solution {
        public int solution(int number, int n, int m) {
            int answer = 0;
            
            if(number%n == 0 && number%m == 0) answer = 1;
            
            return answer;
        }
    }

    <작성한 코드>

    간단한 문제였다. 두 개의 배수가 맞는지 확인하고 둘 다 조건에 만족하면 answer에 1을 대입한다. 만약 아니라면 answer은 0인 상태로 그대로 반환될 것이다.

     

     

     

    209. n의 배수

    문제

    class Solution {
        public int solution(int num, int n) {
            int answer = 0;
            
            if(num%n == 0) answer = 1;
            
            return answer;
        }
    }

    <작성한 코드>

    기본적인 문제다. 배수인지 체크하고 값을 넣어주고 반환한다.

     

     

     

    210. 두 수의 연산값 비교하기

    문제

    class Solution {
        public int solution(int a, int b) {
            String str = ""+a+b;
            int multi = 2 * a * b;
            int answer = 0;
            
            if(Integer.parseInt(str) == multi) return Integer.parseInt(str);
            
            answer = Math.max(Integer.parseInt(str), multi);
            
            return answer;
        }
    }

    <작성한 코드>

    간단한 문제였다. str에는 a, b를 추가해 주고 multi에는 2*a*b를 추가했다. 그 뒤 만약 str을 정수로 변환한 값과 multi의 값이 같으면 str을 정수형으로 바꿔서 반환하고, 아니라면 str의 정수형과 multi 중 더 큰 값을 answer에 대입하고 반환한다.

     

     

    211. 더 크게 합치기

    문제

    class Solution {
        public int solution(int a, int b) {
            int answer = 0;
            String str1 = ""+a+b;
            String str2 = ""+b+a;
            
            answer = Math.max(Integer.parseInt(str1), Integer.parseInt(str2));
            
            return answer;
        }
    }

    <작성한 코드>

    str1에는 a+b, str2에는 b+a를 대입하고 두 수를 정수로 변환한 후 answer에 큰 값을 넣어줬다. 같을 때의 연산을 하지 않는 이유는 Math.max를 했는데 두 값이 같은 경우에는 둘 중 아무 값이나 들어가기 때문에 따로 처리를 안 해줘도 된다.

     

     

     

    212. 문자열 곱하기

    문제

    class Solution {
        public String solution(String my_string, int k) {
            String answer = "";
            
            answer = my_string.repeat(k);
            
            return answer;
        }
    }

    <작성한 코드>

    간단한 문제였다.. repeat(k)를 사용해서 k번만큼 돌려주고 answer에 my_string의 문자열을 더해준다. 그리고 answer을 반환하면 된다.

     

    213. 문자 리스트를 문자열로 변환하기

    문제

    class Solution {
        public String solution(String[] arr) {
            String answer = "";
            
            for(String str : arr){
                answer += str;
            }
            
            return answer;
        }
    }

    <작성한 코드>

    간단한 문제다. foreach문을 사용해서 answer에 str의 값들을 더해주고 반환하였다.

     

     

     

    214. 문자열 섞기

    문제

    class Solution {
        public String solution(String str1, String str2) {
            String answer = "";
            
            for(int i=0; i<str1.length(); i++){
                answer += str1.charAt(i);
                answer += str2.charAt(i);
            }
            
            return answer;
        }
    }

    <작성한 코드>

    간단한 문제다. str1과 str2의 글자들을 각각 차례대로 answer에 더해주고 반환하였다.

    반응형
    프로필사진

    남건욱's 공부기록