02.02 시험 풀이

2023. 2. 2. 18:28개발일지

1.

package test;



public class Solution1 {
    public int solution(int num1) {
        int answer = 0;
        int[] coin = {500,100,50,10};
        int point = 1000-num1;
        for (int i = 0; i < coin.length; i++) {
            if(point/coin[i] > 0){
                answer += point/coin[i];
                point = point%coin[i];
            }
        }
        return answer;
    }

    public static void main(String[] args) {
        Solution1 method = new Solution1();
        int num1 = 160;
        System.out.println(method.solution(num1));
    }
    }

풀이내용

  • Int coin이라는 배열에 500,100,50,10을 입력시킵니다.
    point라는 변수를 선언하면서 1000-num1값을 넣어줍니다.
    반복문을 돌릴때 i =0부터 coin이라는 배열길이까지 반복해줄 때
    point를 coin[i] 나눈 값이 0보다 클때 point/coin[i]값을 answer에 더해줍니다.
    point%coint[i] 나눈값을 point에 입력합니다.
    그리고 answer을 반환해줍니다.

2.

package test;

public class Solution2 {
        public int solution(String s) {
            int sum = 0, count = 0;
                for (int i = 0; i < s.length(); i++) {
                    if(s.charAt(i)=='O'){
                        count++;
                        sum += count;
                    }else{
                        count =0;
                    }
                }
            return sum;
        }

        public static void main(String[] args) {
            Solution2 method = new Solution2();
            String s = "OXOOOXXXOXOOXOOOOOXO";
            System.out.println(method.solution(s));
        }
}

풀이내용

int sum과 count라는 변수를 초기화를 해줍니다.
반복문을 i = 0부터 s.length()만큼 반복 할때 s를 아스키코드로 'O'와 같을때
count를 더해주고 더한 count값을 sum에다 넣어줍니다. 만약 'O'가 아닐 경우 count는 0(초기화) 입니다.
그리고 sum을 반환해줍니다.

'개발일지' 카테고리의 다른 글

02.03 SpringBoot 및 서버 이해  (0) 2023.02.03
02.03 웹 동작방식 이해하기  (0) 2023.02.03
02.02 시험  (0) 2023.02.02
02.02 복습  (0) 2023.02.02
02.01 bus (객체지향)  (0) 2023.02.01