Java 각 자리수 합계 구하기
입력 된 숫자의 각 자리수 합계 구하기
import java.util.Arrays; public class SumEachNumber { public int solution(int n) { // 내가 만든코드1 // int answer = Arrays.asList(Integer.toString(n).split("")) // .stream() // .map(Integer::parseInt) // .mapToInt(Integer::intValue) // .sum(); // 내가 만든코드 2 // int answer = Arrays.asList(Integer.toString(n).split("")) // .stream() // .map(Integer::parseInt) // .reduce((i, j) -> i + j) // .get(); // 다른 개발자가 만든 코드 int answer = 0; while (n > 0) { answer += n % 10; n = n / 10; } return answer; } }
테스트
import org.junit.jupiter.api.Test; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; class SumEachNumberTest { @Test void sumEachNumberTest() { SumEachNumber quiz = new SumEachNumber(); assertThat(quiz.solution(123), is(6)); assertThat(quiz.solution(987), is(24)); assertThat(quiz.solution(0), is(0)); assertThat(quiz.solution(100000000), is(1)); assertThat(quiz.solution(10), is(1)); assertThat(quiz.solution(01), is(1)); } }
최신 댓글