목록자바 (31)
규도자 개발 블로그
[Java/자바] RSA 공개키, 개인키 암호화 방식을 String형태로 다뤄보자. 많이들 쓰이고, 또 그만큼 신뢰할 수 있는 방식인 RSA암호화 방식을 자바로 구현해봤다. 일단 코드는 아래와 같다. import javax.crypto.Cipher; import java.security.*; import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.X509EncodedKeySpec; import java.util.Base64; import java.util.HashMap; public class Main { static final int KEY_SIZE = 2048; public static void main(String[] arg..
문제 알파벳 소문자와 대문자로만 이루어진 길이가 N인 단어가 주어진다. 한 줄에 10글자씩 끊어서 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다. 출력 입력으로 주어진 단어를 열 개씩 끊어서 한 줄에 하나씩 출력한다. 단어의 길이가 10의 배수가 아닌 경우에는 마지막 줄에는 10개 미만의 글자만 출력할 수도 있다. 입출력 예 입력출력 BaekjoonOnlineJudgeBaekjoonOn lineJudgeOneTwoThreeFourFiveSixSevenEightNineTenOneTwoThre eFourFiveS ixSevenEig htNineTen 풀이 import ja..
문제 N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. 출력 입력으로 주어진 숫자 N개의 합을 출력한다. 입출력 예 입력출력 1 115 543211525 7000000000000000000000000711 1098765432146 풀이 import java.util.Scanner; class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int a = scan.nextInt(); String sum = scan.next(); int result ..
문제 입력 받은 대로 출력하는 프로그램을 작성하시오. 입력 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 있을 수도 있다. 출력 입력받은 그대로 출력한다. 입출력 예 입력출력 Hello Baekjoon Online JudgeHello Baekjoon Online Judge 풀이 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; class Main{ public static void main(String[] args) throws Exc..
문제 입력 받은 대로 출력하는 프로그램을 작성하시오. 입력 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다. 출력 입력받은 그대로 출력한다. 입출력 예 입력출력 Hello Baekjoon Online JudgeHello Baekjoon Online Judge 풀이 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.regex.Pattern; public class Main ..
문제 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. 입력 알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다. 출력 입력으로 주어진 글자의 아스키 코드 값을 출력한다. 입출력 예 입력출력 A65C67048957a97z122 풀이 x = input() print(ord(x)) 설명 파이썬의 장점. 심플하면서 직관적인 코드이다. 설명이 필요 없다. ord()는 입력받은 문자의 아스키 코드값을 리턴하는 파이썬 내장함수이다.
문제 두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A×B를 출력한다. 입출력 예 입력출력 1 223 412 풀이 import java.util.Scanner; class Main{ public static void main(String args[]){ Scanner scan = new Scanner(System.in); int a = scan.nextInt(); int b = scan.nextInt(); System.out.println(a*b); return; } } 설명 두 개의 정수를 입력받아 곱한 값을 출력하는 아주아주 간단한 문제이다.
문제 정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. 출력 X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다. X보다 작은 수는 적어도 하나 존재한다. 입출력 예 입력출력 10 5 1 10 4 9 2 3 8 5 7 61 4 2 3 풀이 import java.io.IOException; import java.util.ArrayList; import java.util.Scanner; class Main { public ..
문제 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. 입력 두 자연수 A와 B가 주어진다. (1 ≤ A, B ≤ 10,000) 출력 첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A*B, 넷째 줄에 A/B, 다섯째 줄에 A%B를 출력한다. 입출력 예 입력출력 7 310 4 21 2 1 풀이 import java.util.Scanner; class Main{ public static void main(String args[]){ Scanner scan = new Scanner(System.in); int a = scan.nextInt(); int b = scan.nextInt(); System.out.println(a+b..
문제 세 정수 A, B, C가 주어진다. 이때, 두 번째로 큰 정수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 세 정수 A, B, C가 공백으로 구분되어 주어진다. (1 ≤ A, B, C ≤ 100) 출력 두 번째로 큰 정수를 출력한다. 입출력 예 입력출력 20 30 102030 30 103040 40 40 4020 10 1010 풀이 import java.io.IOException; import java.util.ArrayList; import java.util.Scanner; class Main { public static void main(String[] args) throws IOException { Scanner scan = new Scanner(System.in); int a = sca..