본문 바로가기
점프 투 자바(Java)/23년 1월

2월 6일(월) - 9장(종합문제)

by C0MPAS 2023. 2. 6.

9장 - 종합문제

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 

12번

// 12번
public class Question_12{
    static String compress_String(String data){
        String _c = "";
        int cnt = 0;
        String result = "";
        for(String c: data.split("")){
            if(!c.equals(_c)){
                _c = c;
                if(cnt > 0){
                    result = result + "" + cnt;
                }
                result = result + c;
                cnt = 1;
            }
            else{
                cnt = cnt+1;
            }
        }
        if(cnt > 0){
            result = result + "" + cnt;
        }
        return result;
    }

    public static void main(String[] args){
        String result = compress_String("aaabbcccccca");
        System.out.println(result);
    }
}

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 

13번

//13번
import java.util.ArrayList;

public class Question_13{
    static boolean check_Dup_Num(String data){
        ArrayList<String> result = new ArrayList<>();
        for(String c : data.split("")){
            if(result.contains(c)){
                return false;
            }
            else{
                result.add(c);
            }
        }
        return result.size() == 10;
    }

    public static void main(String[] args){
        System.out.println(check_Dup_Num("0123456789"));
        System.out.println(check_Dup_Num("01234"));
        System.out.println(check_Dup_Num("01234567890"));
        System.out.println(check_Dup_Num("6789012345"));
        System.out.println(check_Dup_Num("012322456789"));
    }
}

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 

14번

// 14번
import java.util.ArrayList;
import java.util.HashMap;

public class Question_1{
    static String morse(String data){
        HashMap<String, String> info = new HashMap<>(){{
            put(".-", "A");
            put("-...", "B");
            put("-.-.", "C");
            put("-..", "D");
            put(".", "E");
            put("..-.", "F");
            put("--.", "G");
            put("....", "H");
            put("..", "I");
            put(".---", "J");
            put("-.-", "K");
            put(".-..", "L");
            put("--", "M");
            put("-.", "N");
            put("---", "O");
            put(".--.", "P");
            put("--.-", "Q");
            put(".-.", "R");
            put("...", "S");
            put("-", "T");
            put("..-", "U");
            put("...-", "V");
            put(".--", "W");
            put("-..-", "X");
            put("-.--", "Y");
            put("--..", "Z");
        }};

        ArrayList<String> result = new ArrayList<>();
        for(String word : data.split("  ")){
            for(String c : word.split(" ")){
                result.add(info.get(c));
            }
            result.add(" ");
        }
        return String.join("",result);
    }

    public static void main(String[] args){
        System.out.println(morse(".... .  ... .-.. . . .--. ...  . .- .-. .-.. -.--"));
    }
}

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 

15번

// 15번
import java.util.ArrayList;

public class Question_1{
    static String caesar(String word, int n){
        String A = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        ArrayList<String> result = new ArrayList<>();
        for(String c : word.split("")){
            int pos = A.indexOf(c);
            int newPos = pos + n;
            newPos = newPos % A.length();
            result.add(A.substring(newPos, newPos+1));
        }
        return String.join("",result);
    }

    public static void main(String[] args){
        System.out.println(caesar("CAT",5));
        System.out.println(caesar("XYZ",3));
    }
}

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

댓글