programmers Day9

Hwani·2024년 5월 14일

문제 - 개미군단

풀이

class Solution {
    public int solution(int hp) {
        int cnt = 0;
        
        cnt += (hp / 5);
        hp %= 5;
        
        cnt += (hp / 3);
        hp %= 3;
        
        cnt += (hp / 1);
        
        return cnt;
    }
}

문제 - 모스부호(1)

풀이

class Solution {
    public String solution(String letter) {
        String[] morse = {".-","-...","-.-.","-..",".","..-.",
                "--.","....","..",".---","-.-",".-..","--","-.",
                "---",".--.","--.-",".-.","...","-","..-","...-",
                ".--","-..-","-.--","--.."};
        String[] morseString;
        morseString = letter.split(" ");

        StringBuilder sb = new StringBuilder();
        for (String word : morseString) {
            for (int i = 0; i < morse.length; i++) {
                if (word.equals(morse[i])) sb.append(Character.toString(i + 'a'));
            }
        }
        return sb.toString();
    }
}

문제 - 가위바위보

풀이

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

        for (int i = 0; i < arr.length; i++) {
            if (arr[i].equals("2")) {
                answer += "0";
            } else if (arr[i].equals("0")) {
                answer += "5";
            } else {
                answer += "2";
            }
        }

        return answer;
    }
}

문제 - 구슬을 나누는 경우의 수

풀이

class Solution {
    public int solution(int balls, int share) {
        return combination(balls, share);
    }
    
    public static int combination(int balls, int share){
        if(balls == share || share == 0) return 1;
        return combination((balls -1), (share -1)) + combination(balls - 1, share);
    }
}

팩토리얼 재귀함수를 사용해서 푸는 문제

팩토리얼이란?

0! = 1 (0의 팩토리얼은 정의 상 1로 정의함)
1! = 1
2! = 2 × 1 = 2
3! = 3 × 2 × 1 = 6
4! = 4 × 3 × 2 × 1 = 24
5! = 5 × 4 × 3 × 2 × 1 = 120

profile
개발자될거야

0개의 댓글