www.acmicpc.net/problem/8393

 

8393번: 합

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

www.acmicpc.net

문제

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

입력

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

출력

1부터 n까지 합을 출력한다.

예제 입력 1

3

예제 출력 1

6

 

 

 

 

 

풀이 .

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

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));
        int n = Integer.parseInt(br.readLine());

        int sum = 0;
        for(int i = 1; i <= n; i++) {
            sum += i;
        }
        bw.write(String.valueOf(sum));

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

'알고리즘 문제 > 백준 온라인 저지' 카테고리의 다른 글

[BOJ] 2438 - 별 찍기 - 1 JAVA  (0) 2021.01.09
[BOJ] 10818 - 최소, 최대 JAVA  (0) 2021.01.09
[BOJ] 1924 - 2007년 JAVA  (0) 2021.01.09
[BOJ] 2739 - 구구단 JAVA  (0) 2021.01.08
[BOJ] 2742 - 기찍 N JAVA  (0) 2021.01.08

www.acmicpc.net/problem/1924

 

1924번: 2007년

첫째 줄에 빈 칸을 사이에 두고 x(1 ≤ x ≤ 12)와 y(1 ≤ y ≤ 31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다.

www.acmicpc.net

문제

오늘은 2007년 1월 1일 월요일이다. 그렇다면 2007년 x월 y일은 무슨 요일일까? 이를 알아내는 프로그램을 작성하시오.

입력

첫째 줄에 빈 칸을 사이에 두고 x(1 ≤ x ≤ 12)와 y(1 ≤ y ≤ 31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다.

출력

첫째 줄에 x월 y일이 무슨 요일인지에 따라 SUN, MON, TUE, WED, THU, FRI, SAT중 하나를 출력한다.

예제 입력 1

1 1

예제 출력 1

MON

예제 입력 2

3 14

예제 출력 2 

WED

예제 입력 3

9 2

예제 출력 3

SUN

예제 입력 4

12 25

예제 출력 4

TUE

 

 

 

 

풀이 .

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

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));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int x = Integer.parseInt(st.nextToken());
        int y = Integer.parseInt(st.nextToken());

        int[] months = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
        String[] days = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"};

        int sum = 0;
        for(int i = 0; i < x - 1; i++) {
            sum += months[i];
        }
        sum += y;
        bw.write(days[sum % days.length]);

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

1월 1일 부터 오늘까지 며칠이나 지났는지 일 수를 계산 (오늘까지 포함하여)

 

총 일 수로 나머지 연산을 하여 요일을 구한다. 

'알고리즘 문제 > 백준 온라인 저지' 카테고리의 다른 글

[BOJ] 10818 - 최소, 최대 JAVA  (0) 2021.01.09
[BOJ] 8393 - 합 JAVA  (0) 2021.01.09
[BOJ] 2739 - 구구단 JAVA  (0) 2021.01.08
[BOJ] 2742 - 기찍 N JAVA  (0) 2021.01.08
[BOJ] 2741 - N 찍기 JAVA  (0) 2021.01.08

www.acmicpc.net/problem/2739

 

2739번: 구구단

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

www.acmicpc.net

문제

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

입력

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

출력

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

예제 입력 1

2

예제 출력 1

2 * 1 = 2

2 * 2 = 4

2 * 3 = 6

2 * 4 = 8

2 * 5 = 10

2 * 6 = 12

2 * 7 = 14

2 * 8 = 16

2 * 9 = 18

 

 

 

풀이 .

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

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));
        StringBuilder sb = new StringBuilder();

        int N = Integer.parseInt(br.readLine());
        for(int i = 1; i <= 9; i++) {
            sb.append(N + " * " + i + " = " + (N*i)).append("\n");
        }
        bw.write(sb.toString());

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

'알고리즘 문제 > 백준 온라인 저지' 카테고리의 다른 글

[BOJ] 8393 - 합 JAVA  (0) 2021.01.09
[BOJ] 1924 - 2007년 JAVA  (0) 2021.01.09
[BOJ] 2742 - 기찍 N JAVA  (0) 2021.01.08
[BOJ] 2741 - N 찍기 JAVA  (0) 2021.01.08
[BOJ] 11721 - 열 개씩 끊어 출력하기 JAVA  (0) 2021.01.08

www.acmicpc.net/problem/2742

 

2742번: 기찍 N

자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.

www.acmicpc.net

문제

자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다.

출력

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

예제 입력 1

5

예제 출력 1

5

4

3

2

1

 

 

 

풀이 .

import java.io.*;

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));
        StringBuilder sb = new StringBuilder();

        int T = Integer.parseInt(br.readLine());
        for(int i = T; i >= 1; i--) {
            sb.append(i).append("\n");
        }
        bw.write(sb.toString());

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

 

www.acmicpc.net/problem/2741

 

2741번: N 찍기

자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.

www.acmicpc.net

문제

자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다.

출력

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

예제 입력 1

5

예제 출력 1

1

2

3

4

5

 

 

 

풀이 .

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

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));
        StringBuilder sb = new StringBuilder();

        int T = Integer.parseInt(br.readLine());
        for(int i = 1; i <= T; i++) {
            sb.append(i).append("\n");
        }
        bw.write(sb.toString());

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

www.acmicpc.net/problem/11721

 

11721번: 열 개씩 끊어 출력하기

첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다.

www.acmicpc.net

문제

알파벳 소문자와 대문자로만 이루어진 길이가 N인 단어가 주어진다.

한 줄에 10글자씩 끊어서 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다.

출력

입력으로 주어진 단어를 열 개씩 끊어서 한 줄에 하나씩 출력한다. 단어의 길이가 10의 배수가 아닌 경우에는 마지막 줄에는 10개 미만의 글자만 출력할 수도 있다.

예제 입력 1

BaekjoonOnlineJudge

예제 출력 1

BaekjoonOn

lineJudge

예제 입력 2

OneTwoThreeFourFiveSixSevenEightNineTen

예제 출력 2

OneTwoThre

eFourFiveS

ixSevenEig

htNineTen

 

 

 

풀이 1.

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

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));
        StringBuilder sb = new StringBuilder();

        String str = br.readLine();
        int idx = 0;
        while(idx < str.length()) {
            for(int i = idx; i < idx + 10; i++) {
                if(i >= str.length()) break;
                sb.append(str.charAt(i));
            }
            sb.append("\n");
            idx += 10;
        }
        bw.write(sb.toString());

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

 

 

 

풀이 2.

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

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));
        StringBuilder sb = new StringBuilder();

        String str = br.readLine();
        for (int i = 0; i < str.length(); i++) {
            if (i % 10 == 0) sb.append("\n");
            sb.append(str.charAt(i));
        }
        bw.write(sb.toString());

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

www.acmicpc.net/problem/11720

 

11720번: 숫자의 합

첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.

www.acmicpc.net

문제

N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.

출력

입력으로 주어진 숫자 N개의 합을 출력한다.

예제 입력 1

1

1

예제 출력 1

1

예제 입력 2

5

54321

예제 출력 2

15

예제 입력 3

25

7000000000000000000000000

예제 출력 3

7

예제 입력 4

11

10987654321

예제 출력 4

46

 

 

 

 

풀이 .

import java.io.*;

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));
        StringBuilder sb = new StringBuilder();

        int T = Integer.parseInt(br.readLine());
        int sum = 0;
        while(T-- > 0) {
            sum += br.read() - '0';
        }
        bw.write(String.valueOf(sum));

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

이 코드는 마지막 Enter 를 치기 전에 바로 출력 값이 나온다.

 

 

엔터까지 입력하고 싶다면 아래처럼 짜면 된다.

import java.io.*;

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));
        StringBuilder sb = new StringBuilder();

        int T = Integer.parseInt(br.readLine());
        int sum = 0;
        while(T-- > 0) {
            if(T == 0)
                sum += Integer.parseInt(br.readLine());
            else
               sum += br.read() - '0';
        }
        bw.write(String.valueOf(sum));

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

www.acmicpc.net/problem/11719

 

11719번: 그대로 출력하기 2

입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이

www.acmicpc.net

문제

입력 받은 대로 출력하는 프로그램을 작성하시오.

입력

입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 있을 수도 있다.

출력

입력받은 그대로 출력한다.

예제 입력 1

    Hello

 

Baekjoon

    Online Judge

예제 출력 1

    Hello

 

Baekjoon

    Online Judge

 

 

 

 

풀이 .

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

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));
        StringBuilder sb = new StringBuilder();

        String str = null;
        while((str = br.readLine()) != null) {
            sb.append(str).append("\n");
        }
        bw.write(sb.toString());

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

+ Recent posts