Algorithm

[Java] 백준 2475번 검증수

로춘남 2021. 10. 30. 18:17
728x90


입출력 문제

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

public class BJ2475 {
    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String str = br.readLine();
        StringTokenizer st = new StringTokenizer(str, " ");

        int a = Integer.parseInt(st.nextToken());
        int b = Integer.parseInt(st.nextToken());
        int c = Integer.parseInt(st.nextToken());
        int d = Integer.parseInt(st.nextToken());
        int e = Integer.parseInt(st.nextToken());

        System.out.println((a*a+b*b+c*c+d*d+e*e)%10);
    }
}

 

for문을 적용해보기

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

public class BJ2475 {
    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String str = br.readLine();
        StringTokenizer st = new StringTokenizer(str, " ");

        int sum = 0;
        for (int i =0; i<5; i++) {
            int temp = Integer.parseInt(st.nextToken());
            sum += temp * temp;
        }
        int result = sum % 10;
        System.out.println(result);
    }
}

속도랑 메모리를 비교해봤는데, Scanner는 일단 확실히 효율이 없고,

 

일반적으로 5개 직접 입력

메모리 14088KB / 시간 124ms

 

for문으로 적용

메모리 14124KB / 시간 132ms

 

Scanner 적용

메모리 17712KB / 시간 208ms

 

Scanner는 확실히 비효율...

for문으로 돌린게 8ms정도 느린데 이것은 어느정도 영향을 미칠 수 있을까?

728x90

'Algorithm' 카테고리의 다른 글

[Java] 백준 2914번 저작권  (0) 2021.11.01
[Java] 백준 2845번 파티가 끝나고 난 뒤  (0) 2021.10.31
[Java] 백준 2558번 A+B - 2  (0) 2021.10.30
[Java] 백준 2588번: 곱셈  (0) 2021.10.29
[Java] 백준 10998번: A x B  (0) 2021.10.29