728x90

 

 

 

개요

 

 

[백준] 숫자 (BufferedReader, Long)

문제설명입력 & 출력나의 풀이백준 문제 10093번 "숫자"는 두 개의 정수 A와 B가 주어질 때, A와 B 사이에 존재하는 정수들을 오름차순으로 출력하는 문제입니다. 단, A와 B가 같으면 아무것도 출력

pixx.tistory.com

 

위 포스팅에서 풀이했던 백준-숫자

문제에서 마지막 공백을 없애주기 위해서 StringBuilder의 deleteCharAt()메서드를 사용했습니다. 이번 글에서는 deleteCharAt()과 함께 마지막 공백을 제거할 수 있는 또 다른 방법인 setLength() 메서드에 대해 알아보겠습니다.

 

 

deleteCharAt() 메서드

deleteCharAt() 메서드는 StringBuilder에서 지정된 인덱스 위치의 문자를 삭제하는 방법입니다.

StringBuilder sb = new StringBuilder("Hello World!");
sb.deleteCharAt(sb.length() - 1);  // 마지막 문자 삭제
System.out.println(sb);  // "Hello World"

 

deleteCharAt()은 삭제할 문자인덱스를 인자로 받아 해당 문자를 삭제합니다. 예를 들어, sb.length() - 1을 전달하면 마지막 문자가 삭제됩니다. 이 방법은 특정 문자 하나만 삭제하고, StringBuilder의 크기를 자동으로 조정합니다.

 

setLength() 메서드

setLength() 메서드는 StringBuilder의 길이를 설정하는 방법입니다. 이 메서드를 사용하면 지정한 길이StringBuilder를 자르거나, 부족한 경우에 문자열을 채울 수 있습니다.

public class SetLengthExample {
    public static void main(String[] args) {
        // 기존 문자열 생성
        StringBuilder sb = new StringBuilder("Hello World!");

        // 길이를 5로 설정하여 문자열 잘라내기 (삭제)
        sb.setLength(5);
        System.out.println("삭제 후: " + sb);  // "Hello"
        System.out.println("길이: " + sb.length());  // 출력: 길이: 5
        
        // 길이를 10으로 설정하여 빈 공간으로 채우기
        sb.setLength(10);
        System.out.println("채운 후: " + sb);  // "Hello     "
        System.out.println("길이: " + sb.length());  // 출력: 길이: 10
    }
}

 

setLength() 메서드는 StringBuilder 길이를 지정된 값으로 설정합니다.

 

길이를 줄일 때 문자열의 끝에서부터 잘리며, 길이를 늘릴 경우 새로운 공백의 공간이 추가됩니다. 

 

 

deleteCharAt() 메서드와 setLength() 메서드의 차이점

 

deleteCharAt() 

  • 특정 인덱스에서 문자를 삭제하는 메서드로, 인덱스를 정확히 지정해야 합니다.

setLength()

  • 문자열 전체의 길이를 변경하는 메서드로, 문자열을 잘라내거나 늘리기 위해 사용할 수 있습니다.
  • 이 메서드는 StringBuilder의 길이를 직접적으로 지정하는 방식이므로 더 직관적이고 범용적으로 사용될 수 있습니다.