본문 바로가기

Algorithm/CodeUp

[CodeUp_Java] Q1165 : 축구의 신1

반응형

안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1165 : 축구의 신1 (자바, JAVA)입니다.

intro

Question

문제 설명

입력

현재 경기시간과 우리팀의 득점이 입력으로 주어진다.(정수)

출력

경기가 끝났을때 우리팀의 득점을 출력한다.

예시

  • 입력 : 74 2
  • 출력 : 6

Solution (풀이)

  • 풀이 1 : 메모리 11224, 시간 93
public class Answer1 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int lestTime = 90 - Integer.parseInt(st.nextToken());    // 남은 시간
        int currentGoalScore = Integer.parseInt(st.nextToken());    // 현재 골 수

        if (lestTime%5==0) {    // 남은 시간이 5로 나누어 떨어질 때
            currentGoalScore += lestTime/5;
        } else {    // 남은 시간이 5로 나누어 떨어지지 않을 때
            currentGoalScore += lestTime/5 +1;
        }

        bw.append(String.valueOf(currentGoalScore));
        bw.flush();
        bw.close();
    }
}
  • 풀이 2 : 메모리 11156, 시간 82
public class Answer2 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int lestTime = 90 - Integer.parseInt(st.nextToken());    // 남은 시간
        int currentGoalScore = Integer.parseInt(st.nextToken());    // 현재 골 수

        if (lestTime%5==0) {    // 남은 시간이 5로 나누어 떨어질 때
            currentGoalScore += lestTime/5;
        } else {    // 남은 시간이 5로 나누어 떨어지지 않을 때
            currentGoalScore += lestTime/5 +1;
        }

        System.out.print(currentGoalScore);
    }
}

메모리와 시간을 확인해보면 알 수 있듯이, 출력해야하는 데이터가 단순하거나 하나일 때에는 굳이 다른 클래스를 이용하여 출력하는 것 보다 바로 그 값을 출력하는 것이 훨신 속도에 도움이 된다.

Ranking(순위)

반응형