프로그래머스 알고리즘 공부 JAVA

이진석·2022년 9월 23일
0

2016년 ----------

public String solutionOne(int a, int b) {
        String answer = "";
        String[] day = {"FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"}; // 2016년 1월 1일은 금요일이기 때문에 배열의 값을 금요일부터 시작
        int[] dateNum = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};; // 1월부터 12월까지 일수를 저장
        int dateAll = 0; // 총 일수를 구할 변수
        for (int i = 0; i < a - 1; i++) {  // 입력 받은 달 보다 한달 전(a - 1)까지의 모든 일수를 구해줌
            dateAll = dateAll + dateNum[i];
        }

        dateAll += (b - 1); // 원하는 달의 원하는 날짜 값 - 1을 더해줌
        answer = day[dateAll % 7]; 
        return answer;
    }

나누어 떨어지는 숫자 배열 -------

public int[] solutionTwo(int[] arr, int divisor) { // arr의 element 중 divisor로 나누어 떨어지는 값들을 구하는 문제
        ArrayList<Integer> temp = new ArrayList<Integer>(); // 기본 배열의 경우에는 크기가 늘어나지 않기 때문에 ArrayList로 선언

        for (int i = 0; i < arr.length; i++) {
            if (arr[i] % divisor == 0) { // 나머지가 0인 arr의 element만 temp에 추가함
                temp.add(arr[i]);
            }
        }
        if (temp.isEmpty()) {
            temp.add(-1);  // 빈 배열일 경우(나누어 떨어지는 값이 없을 경우)
        }
        int[] answer = new int[temp.size()]; // 새로운 int 타입 배열을 만들어 값을 넣어줌

        for (int i = 0; i < temp.size(); i++) {
            answer[i] = temp.get(i);
        }
        Arrays.sort(answer);
        return answer;
    }

수박수박수박수박수 ---------

public String solutuonThree(int n) {
        String answer = "";
        for (int i = 0; i < n; i++) { 

            if (i % 2 == 0) { // 홀수인지 짝수인지 판별
                answer += "수";
            }
            else {
                answer += "박";
            }
        }

        return answer;

완주하지 못한 선수 ----------

public String solutionFour(String[] participant, String[] completion) {
        String answer = "";
        Arrays.sort(participant); // 두 배열을 모두 정렬하여 같은 인덱스인데 값이 다른 경우 그 값을 반환
        Arrays.sort(completion);
        for (int i = 0; i < participant.length; i++)
        {
            if (i == participant.length - 1) {
            answer = participant[i];
            return answer;
        }

            else if(!(participant[i].equals(completion[i])))
            {
                answer = participant[i];
                return answer;
            }

        }

        return answer;
    }
profile
고양이 두마리의 집사이자 행복 코딩을 추구하는 주니어 개발자입니다!

0개의 댓글