본문 바로가기

java72

[Java] char 배열을 문자열로 변환 String(배열명) public class Main { public static void main(String[] args) { char[] arr = {'I','a','m','사','랑','이','에','요'}; String result = new String(arr); System.out.println("result = " + result); } } // result = Iam사랑이에요 char 배열이 있다면 반복문을 쓰지 않고 문자열로 합성하는 법이 있다. String(배열 이름)을 하면 한 번에 문자열로 만들어준다. 2023. 11. 28.
[Java] 절대값 구하기 Math.abs( ) Math.abs( ) int, long, double, float 타입을 입력받아 절대값을 반환한다. public class Main { public static void main(String[] args) { int num1 = -3; long num2 = -534978333; double num3 = -3.235; float num4 = -1.234f; System.out.println("Math.abs(num1) = " + Math.abs(num1)); System.out.println("Math.abs(num2) = " + Math.abs(num2)); System.out.println("Math.abs(num3) = " + Math.abs(num3)); System.out.println("Mat.. 2023. 11. 22.
[Java] long 범위보다 큰 정수를 사칙연산하기: BigInteger BigInteger int, double, long 자료형 중에서 가장 범위가 넓은 long의 범위는 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807이다. 만약 long의 범위를 초과하는 수를 다룰 때는 BigInteger 클래스를 사용할 수 있다. BigInteger는 문자열로 표현된 숫자를 입력받아 객체를 생성한다. 이후 사칙연산을 수행하는 각 메서드를 호출하여 다음과 같이 활용할 수 있다. import java.math.BigInteger; public class Main { public static void main(String[] args) { String a = "12938475029384752983749875"; String b = "2398.. 2023. 11. 10.
[Java] 문자열을 공백 기준으로 나누어 배열 만들기: split( ), 마지막 공백 처리 공백을 기준으로 배열 만들기 public class Main { public static void main(String[] args) { String my_string = "i love you"; String[] arrStr = my_string.split(" "); String my_string2 = "a, b, c"; String[] arrStr2 = my_string2.split(","); System.out.println(Arrays.toString(arrStr)); System.out.println(Arrays.toString(arrStr2)); } } // [i, love, you] // [a, b, c] split( ) 메서드를 이용하면 괄호 안의 값을 기준으로 문자열을 나눌 수 있다. 마지.. 2023. 11. 4.
[Java] ArrayList에서 특정 값 인덱스 구하기 indexOf 배열에서는 indexOf()가 지원이 안된다. 배열에서 특정 값 인덱스를 구하려면 asList()를 이용하여 ArrayList로 변환하는 방법이 있다. indexOf( ) import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { String[] arr = {"apple", "banana", "graph"}; List list = Arrays.asList(arr); System.out.println(list.indexOf("banana")); // 1 } } 2023. 10. 30.
[Java] Integer 타입 ArrayList를 int 타입 배열로 변환 주저리주저리 코딩테스트 연습 중 int형 배열을 정답으로 반환해야 하는 상황. 필자는 매번 Integer 타입의 ArrayList를 반환하여 'cannot be converted to int'라는 오류를 만난다. 그만 까먹고 싶어서 기록한다. 본론 List list = new ArrayList(); list.add(1); list.add(2); int[] arr = list.stream() .mapToInt(i -> i) .toArray(); Integer타입 ArrayList를 선언하고 데이터를 삽입한다. 그 이후 list를 stream으로 변환한 후 mapToInt와 toArray()를 이용하여 int형 배열로 만든다. 2023. 10. 26.
[BOJ] 백준 1874번: 스택 수열 (Java) 문제링크 https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 나의코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.Stack; public class Main{ public static void main(String[.. 2023. 4. 4.
[BOJ] 백준 1654번: 랜선 자르기 (Java) 문제링크 https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 나의코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.StringTokenizer; public class Main{ public static void main(String[] args) throws IOExc.. 2023. 4. 3.
[BOJ] 백준 1436번: 영화감독 숌 (Java) 문제링크 https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워 www.acmicpc.net 나의코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(ne.. 2023. 4. 2.
[BOJ] 백준 1259번: 팰린드롬수 (Java) 문제링크 https://www.acmicpc.net/problem/1259 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net 나의코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStr.. 2023. 4. 1.
[BOJ] 백준 1181번: 단어 정렬 (Java) 문제링크 https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 나의코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.Arrays; import java.util.Comparator; public class Main{ public static void main(String[] args) th.. 2023. 3. 31.
[BOJ] 백준 1018번: 체스판 다시 칠하기 (Java) 문제링크 https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 나의코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.StringTokenizer; public class Main{ public static boolean[][] arr; public static int min = 64; publ.. 2023. 3. 30.
[BOJ] 백준 1085번: 직사각형에서 탈출 (Java) 문제링크 https://www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램 www.acmicpc.net 나의코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.StringTokenizer; public class Main{ public static void main(String[] args) throws IOExceptio.. 2023. 3. 29.
[BOJ] 백준 2920번: 음계 (Java) 문제링크 https://www.acmicpc.net/problem/2920 2920번: 음계 다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8 www.acmicpc.net 나의코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.StringTokenizer; public class Main{ public static void main(String[] args) throw.. 2023. 3. 28.
[BOJ] 백준 2742번: 기찍 N (Java) 문제링크 https://www.acmicpc.net/problem/2742 2742번: 기찍 N 자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. www.acmicpc.net 나의코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.io.BufferedWriter; import java.io.OutputStreamWriter; public class Main{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedRead.. 2023. 3. 27.
[BOJ] 백준 2741번: N 찍기 (Java) 문제링크 https://www.acmicpc.net/problem/2741 2741번: N 찍기 자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. www.acmicpc.net 나의코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br... 2023. 3. 26.
[BOJ] 백준 2577번: 숫자의 개수 (Java) 문제링크 https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net 나의코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in));.. 2023. 3. 25.
[BOJ] 백준 2475번: 검증수 (Java) 문제링크 https://www.acmicpc.net/problem/2475 2475번: 검증수 컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들 www.acmicpc.net 나의코드 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int sum = 0; for(int i = 0; i < 5; i++){ int num = sc.nextInt(); sum += num * num; } Syste.. 2023. 3. 24.
[BOJ] 백준 2908번: 상수 (Java) 문제링크 https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 나의코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.StringTokenizer; public class Main{ public static void main(String[] args) throws IOException{ BufferedReader .. 2023. 3. 23.
[BOJ] 백준 5622번: 다이얼 (Java) 문제링크 https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 나의코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String word = br.. 2023. 3. 22.
[BOJ] 백준 1152번: 단어의 개수 (Java) 문제링크 https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 나의코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; import java.io.IOException; public class Main{ public static void main(String[] args) throws IOException{ Buffe.. 2023. 3. 21.
[BOJ] 백준 2675번: 문자열 반복 (Java) 문제링크 https://www.acmicpc.net/problem/2675 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net 나의코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReade.. 2023. 3. 20.
[BOJ] 백준 1157번: 단어 공부 (Java) 문제링크 https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 나의코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(.. 2023. 3. 19.
[BOJ] 백준 10809번: 알파벳 찾기 (Java) 문제링크 https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 나의코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedRea.. 2023. 3. 18.
[BOJ] 백준 11720번: 숫자의 합 (Java) 문제링크 https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 나의코드 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); String num = sc.next(); sc.close(); int sum = 0; for(int i = 0; i < n; i++){ sum = sum + num.charAt(i) - '0'; } Syst.. 2023. 3. 17.
[BOJ] 백준 11654번: 아스키 코드 (Java) 문제링크 https://www.acmicpc.net/problem/11654 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 나의코드 import java.io.IOException; public class Main{ public static void main(String[] args) throws IOException{ int a = System.in.read(); System.out.print(a); } } 2023. 3. 16.
[BOJ] 백준 1065번: 한수 (Java) 문제링크 https://www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 나의코드 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); System.out.print(arithmetic_sequence(sc.nextInt())); sc.close(); } public static int arithmet.. 2023. 3. 15.
[BOJ] 백준 4673번: 셀프 넘버 (Java) 문제링크 https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 나의코드 import java.util.*; public class Main{ public static void main(String[] args){ boolean[] answer = new boolean[10001]; for(int i = 1; i < 10001; i++){ int n = d(i); if(n < 10001){ answer.. 2023. 3. 14.
[BOJ] 백준 15596번: 정수 N개의 합 (Java) 문제링크 https://www.acmicpc.net/problem/15596 15596번: 정수 N개의 합 C++17, Java 8, Python 3, C11, PyPy3, C99, C++98, C++11, C++14, Go, C99 (Clang), C++98 (Clang), C++11 (Clang), C++14 (Clang), C11 (Clang), C++17 (Clang) www.acmicpc.net 나의코드 public class Test { long sum(int[] a) { long ans = 0; for(int i = 0; i < a.length; i++){ ans = ans + a[i]; } return ans; } } 2023. 3. 13.
[BOJ] 백준 4344번: 평균은 넘겠지 (Java) 문제링크 https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 나의코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.StringTokenizer; public class Main{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStre.. 2023. 3. 12.