학습일기 36

이건구·2023년 10월 16일
0

프로그래머스 자바 문제풀이

가까운 1 찾기

class Solution {
    public int solution(int[] arr, int idx) {
        int answer = 0;
        for (int i = idx; i < arr.length; i++) {
            if (arr[i] == 1) {
                answer = i;
                break;
            } else {
                answer = -1;
            }
        }
        return answer;
    }
}

idx에서 가장 가까운 인덱스의 값이 1일때 그 값을 반환하고, 만약 idx보다 큰 인덱스중에서 1이 없다면 -1을 반환한다.

반복문의 시작지점을 idx로 하고 종료지점을 arr의 길이로하고 arr[i]가 1이면 i를 answer에 넣어주고 break로 반복문을 종료해준다.

만약 idx보다 큰 인덱스 중에 1이 없다면 -1을 answer에 넣어준다.

두 수의 연산값 비교하기.

class Solution {
    public int solution(int a, int b) {
        int answer = 0;
        String strNum = "" + a + b;
        int num = Integer.parseInt(strNum);
        if (num >= 2*a*b) {
            answer = num;
        } else {
            answer = 2*a*b;
        }
        return answer;
    }
}

주어진 연산값은 주어진 두 정수 a,b를 그냥 붙여놓은 값이기 때문에 String타입의 strNum에 ""하고 a,b를 더해주면 문자형으로 바뀌면서 옆에 붙게된다.

그렇게 나온 값을 parseInt()함수를 사용하여 다시 int로 바꿔준다음 2ab하고 비교한다음 크거나 같다면 a,b의 연산값을 answer에 넣어준다.

작다면 2ab를 answer에 넣어준다.

0개의 댓글