문제

풀이

문제 자체는 쉬운데, 평소에 쓰던 System.out.println()  함수 외에 다른 함수를 사용해야 하는 부분이 까다로웠던 문제.

분명 BufferedReader를 사용하라고 언급하고 있고... 다른 분들의 풀이를 봐도 충분히 해결 되는 코드인데, 

이상하게 내 PC의 IDE에서는 BufferedReader에서 계속 오류가 나면서 돌지 않았다.

 

근데 더 특이한 건, 코드에 별도의 수정작업을 하지 않았는데

덮었다가 (IDE 껐다가) 좀 지나서 다시 해결해야지 하고 켜니까 정상적으로 실행이 됐다. (...)

 

아무튼..

BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 으로 선언 해 주고

테스트 케이스의 개수 loop를 입력받는다. (int loop = Integer.parseInt(br.readLine());)

 

for문을 통해서 loop 개수 만큼, 값을 입력받고 " " 단위로 잘라서 더해주면 해결

 

 

소스코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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));
        
        int loop = Integer.parseInt(br.readLine());
        
        StringTokenizer st;
        StringBuilder sb = new StringBuilder();
        
        for(int i=0; i<loop; i++){
            st = new StringTokenizer(br.readLine(), " ");
            sb.append(Integer.parseInt(st.nextToken())+Integer.parseInt(st.nextToken())).append('\n');
        }
        br.close();
        
        System.out.println(sb);
    }
}
cs

'프로그래밍 > JAVA' 카테고리의 다른 글

acmicpc(baekjoon) - 2742 : 기찍 N  (0) 2021.02.22
acmicpc(baekjoon) - 2741 : N 찍기  (0) 2021.02.22
acmicpc(beakjoon) - 8393: 합  (0) 2021.02.15
amcicpc(beakjoon) - 10950: A+B-3  (0) 2021.02.15
acmicpc(beakjoon) - 2739: 구구단  (0) 2021.02.15

 

문제

풀이

이번 문제도 for 문을 이용해서 하나 씩 더하면 해결되는 문제!

3이 입력되었다면 1+2+3을 해 주면 된다.

 

따라서 

for (i=1; i<=입력값; i++){

   결과 변수 += i ;

}

 

형식으로 해결 해 주면 된다.

 

소스코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.Scanner;
 
public class Main{
    public static void main(String[] args) {
        
        Scanner sc = new Scanner(System.in);
        
        int n = sc.nextInt();
        int result = 0;
        for (int i=1; i<=n; i++) {
            result += i;
        }
        System.out.println(result);
        sc.close();
    }
}
cs

 

문제

풀이

두 정수를 입력받은 후 수를 더한 값을 출력하면 되는 문제!

 

첫 줄에 테스트케이스 (loop) 수가 주어지므로, 해당 값으로 for문을 작성하면 된다.

예를 들어 테스트 케이스가 5라면, 

for (i=0; i<5; i++) // 0,1,2,3,4

혹은

for (i=1; i<=5; i++) // 1,2,3,4,5 

정도로 사용할 수 있다.

 

5번의 반복 내부에 두 수를 입력받고, 출력하는 문장을 작성한다.

 

for ( 0 ~ 4) {

    A 입력

    B 입력

    A + B 출력

}

 

 

소스코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.Scanner;
 
public class Main{
    public static void main(String[] args) {
        
        Scanner sc = new Scanner(System.in);
        
        int loop = sc.nextInt();
        int A, B;
        
        for (int i=0; i<loop; i++) {
            A = sc.nextInt();
            B = sc.nextInt();
            
            System.out.println(A+B);
        }
        sc.close();
    }
}
 
cs

 

문제

 

풀이

for() 구문 첫 문제.

N 값을 입력받고, N*1 ~ N*9까지 출력하면 되므로 for (int i=1; i<10; i++) 와 같이 사용할 수 있다.

 

소스코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.Scanner;
 
public class Main{
    public static void main(String[] args) {
        
        Scanner num = new Scanner(System.in);
        
        int N = num.nextInt();
        int i;
        num.close();
        
        for(i=1; i<10; i++) {
            System.out.printf("%d * %d = %d\n", N, i, N*i);
        }
    }
}
 
cs

 

 

문제

 

풀이

입력 된 시간보다 45분 전의 시간을 출력하면 되는 문제!

1) 분(min) 이 45 미만일 경우 ( min < 45 ) 와 

2) 45 이상일 경우로 나눠서 출력 해 주면 된다.

 

그리고 1) 조건에서, 시간(hour)이 0일 경우에는 단순하게 hour-1 하는 것이 아닌 24-1 (23)이 되어야 한다는 것도 고려해야 한다.

 

 

소스코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.Scanner;
 
public class Main{
    public static void main(String[] args) {
        
        Scanner time = new Scanner(System.in);
        
        int hour = time.nextInt();
        int min     = time.nextInt();
        
        time.close();
        
        if (min < 45)  System.out.printf("%d %d", (hour==0 ? hour=23 : hour-1), (min+60)-45); 
        else System.out.printf("%d %d",hour, ((min-45)));
    }
}
 
cs

 

+ Recent posts