split()함수, 문제풀이

Yullc·2025년 3월 6일
post-thumbnail

오늘은 split함수에 대해 공부를 해보았습니다..
왜냐하면 codeUp문제를 푸는데 하도 안풀리길래 한번 찾아보았지.. 그랬더니 split이라는걸 사람들이 사용하는거야?! 그래서 나도 한번 써보았어 내가 풀어본 문제가 뭐냐면

문제)

실수 1개를 입력받아 정수 부분과 실수 부분으로 나누어 출력한다.

입력예시: 1.41213
출력하면?
1
41213

이런식으로 나와야하는데.. 자꾸 뭔가 2%프로 부족한 느낌으로 답이 안나오는거야

그래서 내가 알고있는 지식으로는 안되길래.. 구글링 해보니 split에 대해 알게되었다는 사실

split이란?

지정된 지정한 구분자를 이용하여 문자를 자르고 배열로 리턴하는 함수

내가 푼 문제를 예제로 설명해볼게.

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String[] s = sc.next().split("\\.");
        System.out.println(s[0]);
        System.out.println(s[1]);
    }
}

먼저 scanner를 이용해 실수값을 String으로 받아와서 s라는 배열에 저장하도록 코드를 작성했어. 만약 1.41213을 입력했을 때 .으로 1와 41213이라는 공간을 나누어서 s[0]에는 1를, s[1]에는 4123을 저장 하게 된다네 너무 편하다.. 이런건 누가 생각해낸걸까? 그러므로 println을 2번 실행하여 s[0]과 s[1]을 각각 출력하게 되면
1
4123
이 나오게돼!!

근데 내가 여기서 궁금한게 하나 있는데 split할때 .앞에 역슬래시를 2번 작성한것이야.. 도대체 왜일까? 열심히 찾아본 결과 왜그러냐면..
.은 특수한 기호라서 자바가.을 찾기위해 .앞에 역슬래시 2번을 붙인것이래!!

profile
아자아자자

0개의 댓글