목록2024/07/19 (4)
Just Do IT!
StringBuilder란?String은 불변(immutable) 객체라고 한다. 즉, 한 번 생성되면 변경할 수 없는 것이다.+ 연산자를 사용하여 연결할 수는 있지만, 이는 새로운 문자열 객체가 생성된다는 것을 의미한다.따라서 만약 String 객체를 더하거나 뒤집는 경우, 메모리 할당과 메모리 해제를 발생시키며 연산이 많아지만 성능이 좋지 않다. 그럴 때 사용하는 것이 바로 StringBuilder이다.StringBuilder는 String과 다르게 mutable 하다. 즉, 값이 변할 수 있다.새로운 객체를 생성하고 메모리를 할당하는 것이 아니라 기존의 데이터에서 변경되기 때문에 상대적으로 속도가 빠르고 부하가 적다. 따라서 긴 문자열을 사용하는 상황인 경우, StringBuilder 또는 Stri..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bZj1Ln/btsIFpvGzvr/xwKO3cj0UsycBflIJTkZYK/img.png)
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int A = sc.nextInt(); int B = sc.nextInt(); sc.close(); A = Integer.parseInt(new StringBuilder().append(A).reverse().toString()); B = Integer.parseInt(new StringBuilder().append(B).reverse().toString()); System.out.println(A > B ? A : B); }} StringBuilder를 사용하여 문자열 뒤집..
백준 1152번 문제를 풀다가 잘 모르겠어서 검색을 해보니,java에 StringTokenizer 라는 것이 있었다.StringTokenizer는 공백을 기준으로 나뉘어 토큰에 저장하기 때문에 이를 이용하는 것이었다.그러다가 이것과 split()이 뭐가 다른지 궁금해져서 내가 알아보려고 블로그글을 작성한다. java.util.StringTokenizer 클래스긴 문자열을 지정된 구분자를 기준으로 토큰이라는 여러 개의 문자열로 잘라내는 데 사용한다.StringTokenizer의 구분자로 단 하나의 문자 밖에 사용하지 못하기 때문에, 보다 복잡한 형태의 구분자로 문자열을 나누어야 할 때는 어쩔 수 없이 정규식을 사용하는 메서드를 사용해야 한다StringTokenizer의 생성자와 메서드생성자Stri..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/baxrLo/btsIFa6CALN/i5olJFapXv305k0t4BF13K/img.png)
import java.util.Scanner;import java.util.StringTokenizer;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String sentence = sc.nextLine(); // 문자열 sc.close(); StringTokenizer word = new StringTokenizer(sentence, " "); System.out.println(word.countTokens()); }} StringTokenizer를 사용한다.공백을 기준으로 나뉘어 토큰에 저장하기 때문에 입력한 문자열의 처음이나 마지막에 공백이 있어도 동일한 결과를 ..