[백준(JAVA)] 2154번: 수 이어 쓰기 3

세하·2025년 5월 9일

[백준] 문제풀이

목록 보기
55/94
post-thumbnail

문제

✔ 난이도 - Bronze 2

설명

.indexOf() 을 사용하여 풀 수 있다.
str.indexOf('ar') :
str 문자열 안에서 'ar' 문자열이 처음으로 나오는 index값을 리턴해준다.(int형 반환)
찾는 값이 없으면 -1 리턴.

풀이

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        int N = Integer.parseInt(br.readLine());

        for (int i = 1; i <= N; i++){
            sb.append(i);
        }

        int result = sb.indexOf(String.valueOf(N)) + 1;
        System.out.println(result);

        int result2 = sb.indexOf(Integer.toString(N)) + 1;
        System.out.println(result2);
    }
}

TIL💡

📌 String으로 형변환하기 String.valueOf VS .toString()

공통점 : Object 값을 String 형으로 변환할 때 주로 사용하는 메소드
차이점 : 넘어오는 Object 값이 null 일때 NullPointerException 발생 유무

  1. String.valueOf() << 이걸 사용하자!

    • 파라미터로 null이 오면 "null"이라는 문자열을 출력
      (사실 내부적으로 삼항연산자를 써서 null 이 오면 "null'문자열을 출력한 후, .toString() 함수를 호출한다)
  2. ~.toString()

    • null 값을 형 변환 시 NullPointerException(NPE)이 발생
    • Object이 String이 아니여도 사용 가능

0개의 댓글