코딩테스트

알고리즘 문제풀이 2-4

Eprld 2025. 3. 13. 17:07

문제 1 / BitXorCondition

-목표 : n개의 이진수가 담긴 배열을 모두 xor연산을 하여 십진수로 변환하는 알고리즘 구현

 

문제 풀이

XOR 연산

-Integer.parseInt()을 통해 xor연산을 수행

 

최종 코드

class Solution {
    public int solution(String[] arr) {
        int answer = 0;
        int result = Integer.parseInt(arr[0], 2);

        for(int i = 1; i < arr.length; i++){
            result ^= Integer.parseInt(arr[i],2);
        }
        return result;
    }
}

문제 2 / CountDivisor

-목표 : 자연수 n의 양의 약수의 개수를 출력하는 프로그램 구현하기

 

사용한 알고리즘 

시간복잡도

 

문제 풀이

-n보다 작은 i의 제곱근을 검사하면서 약수의 갯수를 찾는다.

 

최종 코드

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

        for(int i =1; i * i <= n; i++){
            if(i * i == n) answer++;
            else if(n % i == 0) answer += 2;
        }


        return answer;
    }
}

 


문제 3 / HexadecimalToBinary

-목표 : 16진수 s를 이진수로 변환하여 출력하는 프로그램 구현.

 

문제 풀이

-Integer.parseInt로 배열을 십진수로 변환

-Integer.toBinaryString으로 십진수를 2진수 문자열로 변경

 

최종 코드

class Solution {
    public String solution(String s) {
        String answer = "";

        int change = Integer.parseInt(s, 16);
        String binary = Integer.toBinaryString(change);
        return binary;
    }
}

문제 4 / JoinLetter

-목표 : 배열의 문자열을 , 로 이어서 하나의 문자열로 출력하는 프로그램 구현

 

문제 풀이

-string.join함수를 사용해서 배열을 문자열로 합쳐 출력을 했다.

 

최종 코드

class Solution {
    public String solution(String[] arr) {
        String answer = "";

        String strjoin = String.join(",", arr);

        return strjoin;
    }
}

문제 5 / WordPatternGame

-목표 : 낱말의 패턴이 주어졌을 때, 이 패턴대로 낱말을 골라 사용했을 때 정답인지 오답인지 출력하는 프로그램 구현

 

문제 풀이

 

 

최종 코드

 


 

'코딩테스트' 카테고리의 다른 글

알고리즘 문제풀이 3-2  (0) 2025.03.18
알고리즘 문제풀이 3-1  (0) 2025.03.18
알고리즘 문제풀이 2-3  (0) 2025.03.12
알고리즘 문제풀이 2-2  (0) 2025.03.12
알고리즘 문제풀이 2-1  (0) 2025.03.10