Algorithm/Baekjoon

    [백준] 10818번 : 최소, 최대 - JAVA [자바]

    https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 풀이 👉 배열을 사용하는 방법 StringTokenizer.hasMoreTokens() 메소드는 다음에 읽어 들일 token이 있으면 true, 없으면 false를 return 한다. Arrays.sort() 메소드는 배열을 오름차순으로 정렬해 준다. import java.io.BufferedReader; import java.io.IOException; ..

    [백준] 11721번 : 열 개씩 끊어 출력하기 – JAVA [자바]

    https://www.acmicpc.net/problem/11721 11721번: 열 개씩 끊어 출력하기 첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다. www.acmicpc.net 문제 풀이 👉 String.toCharArray() 을 이용한 방법 toCharArray() 메소드는 문자열을 한 글자씩 잘라서 char 배열 형태로 리턴한다. import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStre..

    [백준] 2438번 : 별 찍기 - 1 – JAVA [자바]

    https://www.acmicpc.net/problem/2438 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net 문제 풀이 👉 기본적인 방법 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.pars..

    [백준] 11720번 : 숫자의 합 – JAVA [자바]

    https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 문제 풀이 우선, 문제를 보면 N의 범위가 1부터 100까지이므로 값을 ing형, long형과 같은 숫자형으로 담을 수 없기 때문에 문자열 형태로 입력값을 받아야 한다. 👉 BufferedReader + String.charAt() 먼저 숫자의 개수인 n을 입력받고, 다음 줄에 숫자를 정수가 아닌 String형으로 입력을 받는다. 그리고 for문을 통해 입력받은 문자열의 첫 번째 원소(charAt(0)) 부터 마지막 원소(charAt(n)) 까지 각 원소의 누적 합을 구하면 된다..

    [백준] 11718번~11719번 : 그대로 출력하기 – JAVA [자바]

    https://www.acmicpc.net/problem/11718 11718번: 그대로 출력하기 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시 www.acmicpc.net https://www.acmicpc.net/problem/11719 11719번: 그대로 출력하기 2 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 www.acmicpc.net 문제 🎯 11718번 🎯 11719번 풀이 문제..

    [백준] 11021번 : A+B - 7 – JAVA [자바]

    https://www.acmicpc.net/problem/11021 11021번: A+B - 7 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. www.acmicpc.net 문제 풀이 👉 BufferedReader + StringTokenizer + StringBuilder 을 이용한 방법 참고로 append 를 한 번에 적어줘도 된다. sb.append("Case #"+ i + ": " + (Integer.parseInt(st.nextToken())+Integer.parseInt(st.nextToken())) + "\n" ); 근데 아래 코드처럼 나눠서 쓰는 이유는 직접 테스트해보면 알겠지만 저렇게 출력할 문자에 여러 타입이 섞여있으..

    [백준] 10951번 : A+B - 5 – JAVA [자바]

    https://www.acmicpc.net/problem/10952 10952번: A+B - 5 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.... www.acmicpc.net 문제 풀이 👉 Scanner 사용하는 방법 while (true)로 무한 반복하고 만약 a와 b 둘 다 0일 경우 break 문을 통해 반복문을 종료해 준다. import java.util.Scanner; public class Main { public static void main(String args[]){ Scanner scan = new Scanner(System.in); while (true) { int a = scan.nextInt(); int b = scan.nextInt(); if (a..

    [백준] 10951번 : A+B - 4 – JAVA [자바]

    https://www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.... www.acmicpc.net 문제 풀이 우선, 문제를 보면 5개의 입력을 받으라는 것이 아니라, 단순히 입력 쌍을 나열하는 것을 알 수 있다. 즉, 이 문제는 EoF(End of File)의 개념이 적용되었다. EoF가 무엇인지 먼저 살펴보자. EoF란, 입력에서 더 이상 읽을 수 있는 데이터가 없을 때 우리는 EoF(End of File) 즉, 파일의 끝이라 한다. 읽을 수 있는 데이터가 없다는 뜻은 입력을 하지 않았다는 뜻과 같으므로 null을 뜻한다. 이를 처리하는 방법은 입력의 종류에 따라 여러 방법이 있다. 그중 Sca..

    [백준] 10950번 : A+B - 3 – JAVA [자바]

    https://www.acmicpc.net/problem/10950 10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.... www.acmicpc.net 문제 풀이 BufferedReader + StringTokenizer + StringBuilder 을 이용한 방식으로 풀어주었다. BufferedReader 로 문자열을 입력받고, StringTokenizer 로 공백을 기준으로 문자열을 분리하고, StringBuilder 로 계산한 식을 하나의 문자열로 연결해 준 다음 한 번에 출력해줬다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReade..

    [백준] 2753번 : 윤년 – JAVA [자바]

    https://www.acmicpc.net/problem/2753 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서... www.acmicpc.net 문제 풀이 주어진 조건을 정리해보면, 1. 4의 배수이면 → 윤년 (year % 4 == 0) 2. 100의 배수가 아니면 → 윤년 (year % 100 != 0) 3. 400의 배수이면 → 윤년 (year % 400 == 0) 3가지 조건을 모두 만족해야 한다. 1번과 2번의 조건은 &&(AND)로 묶고 3번은 ||(OR)로 묶으면 된다. OR로 묶는 이유는 100의 배수이면 윤년..