Algorithm/Problem Solving

[BackJoon] 2455 지능형 기차

Jinlib 2017. 6. 5. 22:47

문제 URL https://www.acmicpc.net/problem/2455


1. 문제의 접근을 하기전에 알아야 할 정보 3가지

1) 문자열을 분리하는 방법

자세히 모른다면 참조

2) String형을 int형으로 형변환


2. 풀이

이번엔 split 메서드 말고 stringTokenizer 클래스를 사용했다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.*;
import java.io.*;
 
public class Main {
    public static void main(String[] args) throws Exception{
        int max=0,temp=0;
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        for(int s=0;s<4;s++){
            int unload=0,load=0;
            StringTokenizer st = new StringTokenizer(br.readLine());
            unload = Integer.parseInt(st.nextToken());
            load = Integer.parseInt(st.nextToken());
            temp = load-unload+temp;
            if(temp>max)
                max = temp;
            }
        System.out.println(max);
        }
        
    }
cs

 1) 내코드

2) 해설



3. 공부

 1) 본받을 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
 
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer token;
    
        int cur = 0;
        int max = 0;
        for(int i=0; i<4; i++) {
            token = new StringTokenizer(br.readLine());
            int out = Integer.parseInt( token.nextToken() );
            int in = Integer.parseInt( token.nextToken() );
            cur += (in-out);
            if(cur > max) max = cur;
        }
        System.out.println( max );
    }
}
cs

 2) 해


 3) 마무리