티스토리 뷰

Algorithm

백준 알고리즘 - Forbidden Zero

siyoon210 2019. 1. 19. 11:41
반응형

Forbidden Zero

문제 링크

입력받은 정수의 다음 숫자를 구하면 됩니다. 다만 숫자 중에 0이 포함되어 있으면 안됩니다. 예를들어 9의 다음 숫자는 0을 포함한 10이 아닌 11이 되어야 하고, 99의 다음 숫자는 100이 아닌 111이 되어야 합니다. 입력 값에 1을 더한 숫자를 구하고, 그 숫자의 0이 있으면 그 0을 1로 바꿔주는 방식으로 0이 없는 다음 숫자를 구할 수 있습니다. 저는 숫자를 char로 바꾸고, char를 하나씩 비교해가며 0인 char를 1로 바꿔주는 방법을 선택 했습니다. 반환할때는 다시 정수로 변환합니다.

풀이코드 (java)

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Integer input = sc.nextInt();
        System.out.println(solution(input));
    }

    private static Integer solution(Integer input) {
        input += 1;
        char[] chars = input.toString().toCharArray();
        for (int i = 0; i < chars.length; i++) {
            if (chars[i] == '0') {
                chars[i] = '1';
            }
        }

        return Integer.parseInt(String.valueOf(chars));
    }
}


반응형
댓글