Coding History

2024. 07. 04 문제풀이

BlackBirdIT 2024. 7. 4. 09:49

강사님이 교통사고가 나셔서 늦으신다고 한다. 그래서 문제나 풀어보고 있으려 한다.

첫 문제

//문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.

class Solution {
    public String solution(String my_string) {
        StringBuffer sb = new StringBuffer(my_string);

        return sb.reverse().toString();
    }
}

저번의 문자열 뒤집기보다 더 쉬운 뒤집기다. StringBuffer의 메서드를 사용했다.

두번째도 수월하게 해결했다.

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        for (int i = 0; i < n; i++) {
            System.out.println();
            for (int j = 0; j <= i; j++) {
                System.out.print("*");
            }
        }
    }
}

저번 시험문제 피라미드에서 후드려 맞았던게 도움이 됐다. 줄바꾸는 반복문에 별찍는 반복문을 넣어서 변수만 조금 고쳐주면 된다.

라고 자신만만하게 제출 했다가 첫 공백 때문에 틀렸다. 맨 처음에 공백이 나오지 않게 해야한다.

class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        for (int i = 0; i < n; i++) {
            for (int j = 0; j <= i; j++) {
                System.out.print("*");
            }
            System.out.println();
        }

    }
}

줄바꿈 출력문 위치만 바꾸니까 정답이다. 문제를 잘 읽자..

다음!

//정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요.

class Solution {
    public int[] solution(int[] num_list) {
        int countEven = 0;
        int countOdd = 0;
        for (int i = 0; i < num_list.length; i++) {
            if (num_list[i] % 2 == 0) {
                countEven++;
            }
            if (num_list[i] % 2 == 1) {
                countOdd++;
            }
        }
        return new int[]{countEven, countOdd};
    }
}

아마 맞지 않을까.

맞긴 했는데 진짜 기막힌 풀이를 봤다. 문제 풀고 풀이도 한번 훑어 보는 편인데,

class Solution {
    public int[] solution(int[] num_list) {
        int[] answer = new int[2];

        for(int i = 0; i < num_list.length; i++)
            answer[num_list[i] % 2]++;

        return answer;
    }
}

어차피 0이랑 1만 나오니까 answer에 배열 2개를 만들고 거기에 알아서 짝수 홀수가 카운트 되도록 만든 코드다.
역시 저 세계는 신기하다.

곧 오신다고 하셔서 여기까지!