분류 전체보기

String vs StringBuffer vs Stringbuilder
1. 배경 문자열을 다루는 대표적인 3개의 클래스. 평소에 3개의 클래스들에 대한 차이를 헷갈려했는데 오늘 공부중에 관련내용이 나와 이참에 확실하게 차이점을 공부하려한다. 2. 주요 차이점 String StringBuffer/StringBuilder 클래스들의 가장 큰 차이는 변경가능여부이다. 한번 생성된 String인스턴스가 갖고 있는 문자열은 read only, 변경 불가능(immutable) 클래스이다. StringBuffer StringBuilder의 차이는 동기화 여부에 따른다. StringBuffer는 동기화를 지원해 멀티쓰레드에 안전하도록 되있기에 멀티쓰레드 환경이 아닌 경우 동기화는 불필요하게 성능을 낮춘다. 단일쓰레드에선 Builder클래스가 더 유리하다. 3. 예시 String클래스 위..
백준 2941번
문제 https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net import java.util.Scanner; public class Main2941 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[] alphabet = {"c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="}; ..
백준 1157번
문제 https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net ----------------------------------------첫번째 방법---------------- import java.util.Scanner; public class Main1157 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String string = sc.next(); sc.close(); char chec..
백준 11720번
문제 https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net import java.util.Scanner; public class Main11720 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); String string = sc.next(); int sum = 0; for(int i=0; i
백준 4673번
문제 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 public class Main4673 { public static void main(String[] args) { int[] selfNumber = new int[10001]; selfNumber[0] = 1; for (int i=1; i
백준 2738번
문제 https://www.acmicpc.net/problem/2738 2738번: 행렬 덧셈 첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같 www.acmicpc.net import java.util.Scanner; public class Main2738 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int M = sc.nextInt(); int[][] A = new int[N][M]; int[][] B = ..