09
15

[2739]

N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다.

입력 : 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다.

출력 :  출력형식과 같게 N*1부터 N*9까지 출력한다.

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
        scanner.close();
        for (int i = 1; i < 10; i++) {
            System.out.println(a + " * " + i + " = " + (a * i));
        }

    }

}

 

[10950]두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

입력:첫째 줄에 테스트 케이스의 개수 T가 주어진다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

 

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
        int b;
        int c;
        scanner.close();
        for(int i = 0; i<a; i++){
            b = scanner.nextInt();
            c = scanner.nextInt();
            System.out.println(b+c);
        }

    }
}

[8393]

n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.

입력:첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다.

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
        int s = 0;
        for(int i = 1; i<=a; i++){
            s += i;
        }
        System.out.println(s);
    }

}

 

[25304]

준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것이 맞는지 확인해보려 한다.

영수증에 적힌,

  • 구매한 각 물건의 가격과 개수
  • 구매한 물건들의 총 금액

을 보고, 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하는지 검사해보자.

 

입력: 첫째 줄에는 영수증에 적힌 총 금액 X가 주어진다.

둘째 줄에는 영수증에 적힌 구매한 물건의 종류의 수 N이 주어진다.

이후 N개의 줄에는 각 물건의 가격 a와 개수 b가 공백을 사이에 두고 주어진다.

출력:구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하면 Yes를 출력한다. 일치하지 않는다면 No를 출력한다.

제한:

  • 1≤X≤1000000000
  •  1≤N≤100 
  •  1≤a≤1000000
  •  1≤b≤10
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
        int b = scanner.nextInt();
        int result = 0;
        for(int i = 1; i<=b; i++){
            int c = scanner.nextInt();
            int d = scanner.nextInt();
            int add = c*d;
            result += add;
        }
        if (result == a){
            System.out.println("Yes");
        }else {
            System.out.println("No");

        }



    }

}

[15552] 시간 제한 1초

 

Java를 사용하고 있다면, Scanner와 System.out.println 대신 BufferedReader와 BufferedWriter를 사용할 수 있다. BufferedWriter.flush는 맨 마지막에 한 번만 하면 된다.

 

첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다.

출력:각 테스트케이스마다 A+B를 한 줄에 하나씩 순서대로 출력한다.

 

더보기
buffered를 사용하기 때문에 받은 것을 잘라줘야하는데 tokenizer대신 split을 사용했더니 시간초과가 났다...

split으로도 가능한 방법이 있을 것 같은데...찾아봐야겠다

import java.io.*;

public class Main {

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

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int a = Integer.parseInt(br.readLine());
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        for(int i=1; i <=a; i++){
            String b = br.readLine();
            String[] add = b.split(" ");
            int c = Integer.parseInt(add[0]);
            int d = Integer.parseInt(add[1]);
            bw.write(c+d+"\n");
            bw.flush();


        }


    }

}
import java.io.*;
import java.util.StringTokenizer;

public class Main {

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

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int a = Integer.parseInt(br.readLine());
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        for(int i=1; i <=a; i++){
            StringTokenizer st = new StringTokenizer(br.readLine(), " ");

            int c = Integer.parseInt(st.nextToken());
            int d = Integer.parseInt(st.nextToken());
            bw.write(c+d+"\n");
        }
        br.close();
        bw.flush();
        bw.close();



    }

}

[11021]두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

입력:첫째 줄에 테스트 케이스의 개수 T가 주어진다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

출력:각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다.

 

알고리즘을 풀 때는 scanner와 sysout대신 버퍼를 많이들 쓴다고 해서 이제부턴 최대한 그렇게 써보기로했다. 조금 덜 익숙하지만 쓰다보면 괜찮아지겠지

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

public class Main {

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

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int a = Integer.parseInt(br.readLine());
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        for(int i=1; i <=a; i++){
            StringTokenizer st = new StringTokenizer(br.readLine(), " ");
            int c = Integer.parseInt(st.nextToken());
            int d = Integer.parseInt(st.nextToken());
            bw.write("Case #"+i+": "+(c+d)+"\n");
        }
        bw.flush();
        bw.close();
        br.close();



    }

}

 

[11022]두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

입력:첫째 줄에 테스트 케이스의 개수 T가 주어진다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

출력: 각 테스트 케이스마다 "Case #x: A + B = C" 형식으로 출력한다. x는 테스트 케이스 번호이고 1부터 시작하며, C는 A+B이다.

 

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

public class Main {

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

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int a = Integer.parseInt(br.readLine());
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        for(int i=1; i <=a; i++){
            StringTokenizer st = new StringTokenizer(br.readLine(), " ");
            int c = Integer.parseInt(st.nextToken());
            int d = Integer.parseInt(st.nextToken());
            bw.write("Case #"+i+": "+c+" + "+d+" = "+(c+d)+"\n");
        }
        bw.flush();
        bw.close();
        br.close();



    }

}

[2438] 별찍기

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

입력:첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

출력:첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.

 

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

public class Main {

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

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int a = Integer.parseInt(br.readLine());
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        for(int i=1; i <=a; i++){
            for(int j = 1; j <=i ; j++){

                bw.write("*");
            }
            bw.write("\n");
        }
        bw.flush();
        bw.close();
        br.close();



    }

}

[2439] 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

입력:첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

출력:첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.

 

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

public class Main {

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

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int a = Integer.parseInt(br.readLine());
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        for(int i=1; i <=a; i++){
            for(int j = 1; j <=a-i ; j++){

                bw.write(" ");
            }
            for(int k = 1; k <=i ; k++){

                bw.write("*");
            }

            bw.write("\n");
        }
        bw.flush();
        bw.close();
        br.close();



    }

}

[10871] 정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.

입력: 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000)

둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다.

출력: X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다. X보다 작은 수는 적어도 하나 존재한다.

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

public class Main {

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

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

            String str = br.readLine();
            StringTokenizer st = new StringTokenizer(str, " ");
            int a = Integer.parseInt(st.nextToken());
            int b = Integer.parseInt(st.nextToken());
            String str2 = br.readLine();
            StringTokenizer st2 = new StringTokenizer(str2, " ");

       for(int i = 0; i<a; i++){
            int c = Integer.parseInt(st2.nextToken());

           if(c<b){
               bw.write(c+ " ");

            }

        }
		bw.flush();
        bw.close();
        br.close();

    }

}

[10952]두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

입력: 입력은 여러 개의 테스트 케이스로 이루어져 있다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

입력의 마지막에는 0 두 개가 들어온다.

출력: 각 테스트 케이스마다 A+B를 출력한다.

 

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

public class Main {

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


        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
       
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));


        while(true){
            String str = br.readLine();
            StringTokenizer st = new StringTokenizer(str, " ");
            int a = Integer.parseInt(st.nextToken());
            int b = Integer.parseInt(st.nextToken());
            if(a+b==0) break;
                bw.write((a + b) + "\n");

            }

        bw.flush();
        bw.close();




        br.close();




    }

}
COMMENT