개발/코테 TIL

[Java] chars() 함수의 사용

서해쭈꾸미 2024. 5. 13. 12:40

알고리즘 문제를 풀다보면 문자열을 다룰 때가 많다. 문자열을 조작하는데 사용하는 함수 하나를 정리해보려고 한다.

 

 

chars()

  chars()CharSequence 인터페이스에 속한 메서드 중 하나다.

이 함수는 문자열에서 문자들의 ASCII 코드값을 스트림 형태로 반환시켜준다. 이렇게 반환된 스트림은 문자열의 각 문자를 순차적으로 처리할 때 유용하다.

 

 

 

사용예시

 

프로그래머스에서 하샤드 수 문제를 chars()함수를 사용해 해결했다.

import java.util.stream.Stream;

class Solution {
    public boolean solution(int x) {
        int num = String.valueOf(x).chars().map(n -> n - 48).sum();
        return x % n == 0;
    }
}

  ASCII 코드에서 '0'의 ASCII 코드값은 48이다. 그래서 숫자로 이루어진 문자열을 다룰 때 48을 빼서 사용하면 숫자끼리의 연산도 가능하다.