본문 바로가기
알고리즘/알고리즘 설명

20230725 [Java] 문제풀이

by JayAlex07 2023. 7. 25.

20230725 [Java] 문제풀이

기초 다지기!!!!!

 

 

[프로그래머스] 문자열 겹쳐쓰기

 

StringBuilder 또는 StringBuffer를 더 많이 사용해봐야겠다!

class Solution {
    public StringBuilder solution(String my_string, String overwrite_string, int s) {
        StringBuilder answer = new StringBuilder();

        answer.append(my_string.substring(0, s));
        answer.append(overwrite_string);
        answer.append(my_string.substring(overwrite_string.length() + s, my_string.length()));

        return answer;
    }
}

 

 

[프로그래머스] 두 수의 연산값 비교하기

class Solution {
    public int solution(int a, int b) {
        int num1 = a * b * 2;

        int num2 = Integer.parseInt(String.format("%d%d", a, b));

        return Math.max(num1, num2);
    }
}

 

 

[프로그래머스] 공배수

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

        return 0;
    }
}

 

 

[프로그래머스] 홀짝에 따라 다른 값 반환하기

class Solution {
    public int solution(int n) {
        int answer = 0;

        if (n % 2 == 1) {
            for (int i = 1; i <= n; i += 2) answer += i;
        } else {
            for (int i = 2; i <= n; i += 2) answer += Math.pow(i, 2);
        }

        return answer;
    }
}

 

 

[프로그래머스] flag에 따라 다른 값 반환하기

class Solution {
    public int solution(int a, int b, boolean flag) {
        if (flag == true) return a + b;
        if (flag == false) return a - b;
        return 0;
    }
}

 

 

[프로그래머스] 이어 붙인 수

class Solution {
    public int solution(int[] num_list) {
        String s1 = "", s2 = "";

        for (int num : num_list) {
            if (num % 2 == 1) s1 += num;
            else s2 += num;
        }

        return Integer.parseInt(s1) + Integer.parseInt(s2);
    }
}

 

 

[프로그래머스] 수열과 구간 쿼리 3

class Solution {
    public int[] solution(int[] arr, int[][] queries) {

        for (int i = 0; i < queries.length; i++) {
            int tempNum = arr[queries[i][0]];
            arr[queries[i][0]] = arr[queries[i][1]];
            arr[queries[i][1]] = tempNum;
        }

        return arr;
    }
}

 

 

[프로그래머스] 수열과 구간 쿼리

import java.util.*;
class Solution {
    public ArrayList<Integer> solution(int[] arr, int[][] queries) {
        ArrayList<Integer> answer = new ArrayList<Integer>();

        for (int i = 0; i < queries.length; i++) {
            int tempNum = Integer.MAX_VALUE;

            for (int j = queries[i][0]; j <= queries[i][1]; j ++) {
                if (arr[j] > queries[i][2])  {
                    tempNum = Math.min(tempNum, arr[j]);
                }
            }

            if (tempNum == Integer.MAX_VALUE) {
                answer.add(-1);
            } else {
                answer.add(tempNum);
            }
        }

        return answer;
    }
}

'알고리즘 > 알고리즘 설명' 카테고리의 다른 글

20230731 [Java] 문제풀이  (0) 2023.07.31
20230726 [Java] 문제풀이  (0) 2023.07.26
20230720 [Java] 문제풀이  (0) 2023.07.20
20230719 [Java] 문제풀이  (0) 2023.07.19
20230718 [Java] 문제풀이  (0) 2023.07.18