[Java] 백준 BOJ / 10093번: 숫자

개미개미개·2024년 8월 25일

Algorithm

목록 보기
2/63
post-thumbnail

숫자

맨 처음에는 그냥 쉽게 생각하고 풀었는데 테스트케이스만 보고 예외를 생각을 안해서 살짝 헤맸었다.

이 문제에서 테스트케이스만으로 해결 할 수 없는 문제는 총 세가지였다.

  1. 두 정수 A, B의 대소관계에 대한 말이 없음
  2. A, B가 같을 수 있다는 사실
  3. 서브태스크의 2번 조건 무시

1번에 대한 처리는 변수를 두개 받고 나서 max 처리하는 방식으로 하고 2번에 대한 처리는 조건문으로 처리했다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    static int a, b;

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        StringBuilder sb = new StringBuilder();

        a = Integer.parseInt(st.nextToken());
        b = Integer.parseInt(st.nextToken());

        int A = Math.min(a, b);
        int B = Math.max(a, b);

        if (A == B) {
            System.out.print(0);
            return;
        }
        System.out.println(B - A - 1);
        for (int i = A + 1; i < B; i++) {
            sb.append(i);
            sb.append(" ");
        }
        System.out.println(sb);
    }
}

3번에 대한 처리는 변수타입의 문제였다. 처음에는 조건을 안보고 그냥 int로 처리했지만 나중에 long으로 바꾸고 코드를 전면 수정했다.

import java.util.*;
import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        StringTokenizer st = new StringTokenizer(br.readLine());
        ;
        long a = Long.parseLong(st.nextToken());
        long b = Long.parseLong(st.nextToken());
        if (a > b) {
            long tmp = a;
            a = b;
            b = tmp;
        }
        if (a == b)
            sb.append(b - a).append("\n");
        else sb.append(b - a - 1).append("\n");
        for (long i = a + 1; i < b; i++) {
            sb.append(i).append(" ");
        }
        System.out.println(sb);
    }
}

문제 조건과 변수를 어떤 걸 쓸지 문제를 전부 파악하고 진행해야겠다고 느꼈다.

profile
개미는 오늘도 일을 합니다.

0개의 댓글