분류 전체보기
-
💡 해설이 길게 필요하지 않은 문제 같은 경우엔 코드 내에 간단하게 주석으로만 설명을 붙여두었습니다. 코드 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 st = new StringTokenizer(br.readLine()); ..
백준 - 9498번 시험 성적💡 해설이 길게 필요하지 않은 문제 같은 경우엔 코드 내에 간단하게 주석으로만 설명을 붙여두었습니다. 코드 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 st = new StringTokenizer(br.readLine()); ..
2023.07.13 -
해설 논리 비교 하는 간단한 문제입니다. 코드 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 st = new StringTokenizer(br.readLine()); int A = Integer.parseInt(st.nextTo..
백준 - 1330번 두 수 비교하기해설 논리 비교 하는 간단한 문제입니다. 코드 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 st = new StringTokenizer(br.readLine()); int A = Integer.parseInt(st.nextTo..
2023.07.13 -
해설 기본적인 연산 문제입니다. 기존에는 int를 사용해서 연산해왔지만, 입력 값의 범위를 보면 int가 수용할 수 있는 크기를 넘어서기 때문에 long 타입으로 변경하여 계산해주면 됩니다. 문제 자체는 어렵지 않기 때문에 만약 Long범위를 초과하는 경우에 대해서 생각해보려고 합니다. Long범위를 초과하는 경우엔 BigDecimal이나 BigInteger 등을 사용해서 계산이 가능합니다만(내부적으로 문자열로 계산) 직접 문자열로 계산하는 방법도 알아두면 좋기 때문에 문자열로 수 계산하는 방식으로 풀어보았습니다. 코드가 그렇게 깔끔하지는 않으니 아 이렇게도 풀 수 있구나 정도로만 봐주시면 좋을 것 같습니다. 코드 import java.io.BufferedReader; import java.io.IOEx..
백준 - 11382번 꼬마정민해설 기본적인 연산 문제입니다. 기존에는 int를 사용해서 연산해왔지만, 입력 값의 범위를 보면 int가 수용할 수 있는 크기를 넘어서기 때문에 long 타입으로 변경하여 계산해주면 됩니다. 문제 자체는 어렵지 않기 때문에 만약 Long범위를 초과하는 경우에 대해서 생각해보려고 합니다. Long범위를 초과하는 경우엔 BigDecimal이나 BigInteger 등을 사용해서 계산이 가능합니다만(내부적으로 문자열로 계산) 직접 문자열로 계산하는 방법도 알아두면 좋기 때문에 문자열로 수 계산하는 방식으로 풀어보았습니다. 코드가 그렇게 깔끔하지는 않으니 아 이렇게도 풀 수 있구나 정도로만 봐주시면 좋을 것 같습니다. 코드 import java.io.BufferedReader; import java.io.IOEx..
2023.07.13 -
해설 기본적인 사칙연산만 하다가 조금 복잡한 연산이 나왔습니다. 숫자 A가 주어졌을 때 숫자 B를 곱하는 방법은 다음과 같습니다. 숫자 A x 숫자B의 각 자리수 각 자리수를 곱해주어야하기 때문에 굳이 숫자 B는 int로 받지않았습니다. String으로 받아서 각 자리를 char로 반복하면 각 자리를 손쉽게 얻을 수 있습니다. char의 경우, 유니코드 값이 존재하므로 '0'을 빼준다면 문자가 가지는 실제 숫자를 얻을 수 있습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args)..
백준 - 2588번 곱셈해설 기본적인 사칙연산만 하다가 조금 복잡한 연산이 나왔습니다. 숫자 A가 주어졌을 때 숫자 B를 곱하는 방법은 다음과 같습니다. 숫자 A x 숫자B의 각 자리수 각 자리수를 곱해주어야하기 때문에 굳이 숫자 B는 int로 받지않았습니다. String으로 받아서 각 자리를 char로 반복하면 각 자리를 손쉽게 얻을 수 있습니다. char의 경우, 유니코드 값이 존재하므로 '0'을 빼준다면 문자가 가지는 실제 숫자를 얻을 수 있습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args)..
2023.07.13 -
해설 기본적인 사칙연산 문제입니다. 여기서 알아두어야할 것은 바로 모듈러(나머지) 연산입니다. 이 문제를 푸는데는 필요가 없지만 후에 알고리즘을 풀 때 사용하는 경우가 있습니다. 알고리즘 문제를 푸는 과정에서 결과 값이 매우 큰 경우, 결과 값의 나머지를 구하라는 문제가 자주 등장합니다. 단순히 결과 값에 모듈러 연산을 수행할 시 결과 값이 이미 너무 커져 오버플로우가 발생하는 경우가 있는데, 연산 과정 도중에 모듈러 연산을 적용해야 이러한 오버플로우가 발생하지 않습니다. 모듈러 연산에 대한 자세한 내용은 후에 다루도록 하겠습니다. 여기선 이런게 있구나 하는 정도만 알고 넘어가시길 바랍니다. 코드 import java.io.BufferedReader; import java.io.IOException; i..
백준 - 10430번 나머지해설 기본적인 사칙연산 문제입니다. 여기서 알아두어야할 것은 바로 모듈러(나머지) 연산입니다. 이 문제를 푸는데는 필요가 없지만 후에 알고리즘을 풀 때 사용하는 경우가 있습니다. 알고리즘 문제를 푸는 과정에서 결과 값이 매우 큰 경우, 결과 값의 나머지를 구하라는 문제가 자주 등장합니다. 단순히 결과 값에 모듈러 연산을 수행할 시 결과 값이 이미 너무 커져 오버플로우가 발생하는 경우가 있는데, 연산 과정 도중에 모듈러 연산을 적용해야 이러한 오버플로우가 발생하지 않습니다. 모듈러 연산에 대한 자세한 내용은 후에 다루도록 하겠습니다. 여기선 이런게 있구나 하는 정도만 알고 넘어가시길 바랍니다. 코드 import java.io.BufferedReader; import java.io.IOException; i..
2023.07.13 -
해설 불기 연도를 서기 연도로 바꾸는 프로그램을 만드는 문제입니다. 불기 연도를 검색해서 찾아봐도 좋겠지만, 번거롭기 때문에 ㅎㅎ 그냥 입력과 출력 예시를 계산해서 차이를 파악한 후 그것을 이용해서 계산을 진행했습니다. 코드 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 year = Integer.parseI..
백준 - 18108번 1998년생인 내가 태국에서는 2541년생?!해설 불기 연도를 서기 연도로 바꾸는 프로그램을 만드는 문제입니다. 불기 연도를 검색해서 찾아봐도 좋겠지만, 번거롭기 때문에 ㅎㅎ 그냥 입력과 출력 예시를 계산해서 차이를 파악한 후 그것을 이용해서 계산을 진행했습니다. 코드 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 year = Integer.parseI..
2023.07.13 -
해설 기본적인 입출력 문제입니다. 문자열을 합쳐야하는 경우엔 문자열 + 문자열 같은 방식으로 해도 되지만, 합칠 문자열이 많다면 StringBuilder를 이용하는 것이 좋습니다. 코드 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)); System.out.println(br.readLine() + "??!"); } }
백준 - 10926번 ??!해설 기본적인 입출력 문제입니다. 문자열을 합쳐야하는 경우엔 문자열 + 문자열 같은 방식으로 해도 되지만, 합칠 문자열이 많다면 StringBuilder를 이용하는 것이 좋습니다. 코드 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)); System.out.println(br.readLine() + "??!"); } }
2023.07.13 -
해설 기본적인 사칙연산 문제입니다. 기본적인거라 따로 추가적인 해설은 없고, 출력에 관한 이야기를 잠깐 하려고 합니다. 연산한 결과를 모두 출력문을 사용해서 출력을 한다면 연산 결과의 개수(N) 만큼 리소스 사용이 발생합니다. 출력문의 비용이 그렇게 가벼운 편은 아니기 때문에 N이 늘어날수록 성능은 더욱 안좋아지게 됩니다. 이 문제 같은 경우엔 출력을 별로 안해서 성능상 문제는 없지만, 만약 출력할게 많다하면 StringBuilder를 이용해서 하나로 만들어 출력해주는 것이 좋습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringToken..
백준 - 10869번 사칙연산해설 기본적인 사칙연산 문제입니다. 기본적인거라 따로 추가적인 해설은 없고, 출력에 관한 이야기를 잠깐 하려고 합니다. 연산한 결과를 모두 출력문을 사용해서 출력을 한다면 연산 결과의 개수(N) 만큼 리소스 사용이 발생합니다. 출력문의 비용이 그렇게 가벼운 편은 아니기 때문에 N이 늘어날수록 성능은 더욱 안좋아지게 됩니다. 이 문제 같은 경우엔 출력을 별로 안해서 성능상 문제는 없지만, 만약 출력할게 많다하면 StringBuilder를 이용해서 하나로 만들어 출력해주는 것이 좋습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringToken..
2023.07.13 -
해설 기본적인 입출력 + 연산 문제입니다. 처음 자바를 배우는 분들이 실수하실 수도 있는 부분은 int로 연산을 진행하는 경우, 소수점 자리는 저장되지 않는다는 것 입니다. 그렇기 때문에 연산을 진행할 때 double로 형변환을 하거나 변수를 double로 받으시면 됩니다. 코드 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 BufferedRe..
백준 - 1008번 A/B해설 기본적인 입출력 + 연산 문제입니다. 처음 자바를 배우는 분들이 실수하실 수도 있는 부분은 int로 연산을 진행하는 경우, 소수점 자리는 저장되지 않는다는 것 입니다. 그렇기 때문에 연산을 진행할 때 double로 형변환을 하거나 변수를 double로 받으시면 됩니다. 코드 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 BufferedRe..
2023.07.13 -
해설 기본적인 입출력 및 사칙연산 문제입니다. 여기서는 수가 작아서 int형을 사용했지만, 곱셈 문제들을 풀다보면 int 자료형을 넘기는 경우가 많습니다. 이를 잘 고려하여 타입을 선택해서 문제를 푸는 것이 중요합니다. 코드 package baekjoon; import java.util.Scanner; /** * 번호 - 10998 * 제목 - AxB * 문제 - 두 정수 A와 B를 입력받은 다음, AxB를 출력하는 프로그램을 작성하시오. * 입력 - 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) * 출력 - 첫째 줄에 AxB를 출력한다. */ public class No_10998 { public static void main(String[] args) { // 기본적인 입력 방법 Sca..
백준 - 10998번 AxB해설 기본적인 입출력 및 사칙연산 문제입니다. 여기서는 수가 작아서 int형을 사용했지만, 곱셈 문제들을 풀다보면 int 자료형을 넘기는 경우가 많습니다. 이를 잘 고려하여 타입을 선택해서 문제를 푸는 것이 중요합니다. 코드 package baekjoon; import java.util.Scanner; /** * 번호 - 10998 * 제목 - AxB * 문제 - 두 정수 A와 B를 입력받은 다음, AxB를 출력하는 프로그램을 작성하시오. * 입력 - 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) * 출력 - 첫째 줄에 AxB를 출력한다. */ public class No_10998 { public static void main(String[] args) { // 기본적인 입력 방법 Sca..
2023.07.13 -
해설 이전에 풀었던 A+B와 동일한 문제입니다. 코드 package baekjoon; import java.util.Scanner; /** * 번호 - 1001 * 제목 - A-B * 문제 - 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. * 입력 - 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) * 출력 - 첫째 줄에 A-B를 출력한다. */ public class No_1001 { public static void main(String[] args) { // 기본적인 입력 방법 Scanner sc = new Scanner(System.in); int A = sc.nextInt(); int B = sc.nextInt(); System.out.println(A..
백준 - 1001번 A-B해설 이전에 풀었던 A+B와 동일한 문제입니다. 코드 package baekjoon; import java.util.Scanner; /** * 번호 - 1001 * 제목 - A-B * 문제 - 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. * 입력 - 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) * 출력 - 첫째 줄에 A-B를 출력한다. */ public class No_1001 { public static void main(String[] args) { // 기본적인 입력 방법 Scanner sc = new Scanner(System.in); int A = sc.nextInt(); int B = sc.nextInt(); System.out.println(A..
2023.07.12 -
해설 기본적인 입출력 및 사칙연산 문제입니다. 입력을 받는 방법으로 주로 사용되는 것은 Scanner와 BufferedReader입니다. 지금은 기본적인 문제기 때문에 Scanner로 풀었지만, 입력이 많아지는 경우 버퍼를 사용하는 BufferedReader를 사용하는 것이 유리합니다. BufferedReader의 경우, StringTokenizer와 함께 사용되는 경우가 많습니다. split() 보다 성능이 좋기 때문에 알고리즘 문제에서는 BufferedReader + StringTokenizer로 문제를 푸는 경우가 많습니다. 코드 package baekjoon; import java.io.IOException; import java.util.Scanner; /** * 번호 - 1000 * 제목 - ..
백준 - 1000번 A+B해설 기본적인 입출력 및 사칙연산 문제입니다. 입력을 받는 방법으로 주로 사용되는 것은 Scanner와 BufferedReader입니다. 지금은 기본적인 문제기 때문에 Scanner로 풀었지만, 입력이 많아지는 경우 버퍼를 사용하는 BufferedReader를 사용하는 것이 유리합니다. BufferedReader의 경우, StringTokenizer와 함께 사용되는 경우가 많습니다. split() 보다 성능이 좋기 때문에 알고리즘 문제에서는 BufferedReader + StringTokenizer로 문제를 푸는 경우가 많습니다. 코드 package baekjoon; import java.io.IOException; import java.util.Scanner; /** * 번호 - 1000 * 제목 - ..
2023.07.12