[자바JAVA]백준 11720 숫자의 합 풀이
💡 핵심 요약 (TL;DR)
'백준 11720 숫자의 합 풀이' 알고리즘 문제의 요구사항을 분석하고 최적의 자료구조와 연산 방식을 적용해 구현한 풀이다. 전체 코드는 아래와 같다.
문제
N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
입력으로 주어진 숫자 N개의 합을 출력한다.
1 | //입력 |
- 입출력예시2
1 | //입력 |
- 입출력예시3
1 | //입력 |
- 입출력예시4
1 | //입력 |
풀이1: 배열사용
- memory 11652 runtime 84
String array로 입력을 받은 뒤 int array에 담아서 누적합 해준다.
1 | public class _11720 { |
풀이2: 배열사용하지않고 풀기 -> getBytes()사용
- memory 11480 runtime 80
getBytes()는 String을 Byte로 변환해준다.
![]()
위 표를 보면 숫자 0은 Decimal 48임을 알 수 있다. byte를 int로 변환하기 위해서는 48 또는 ‘0’을 빼주면 된다.
1 | // n이 byte형이기때문에 아래 두 식은 같은 의미 (n-48) == (n-'0') |
전체 코드는 아래와 같다.
배열을 사용한 것과 큰 차이는 안나지만 배열없이도 문제를 풀 수 있음을 배웠다.
1 | public class _11720 { |
백준의 다른 문제 풀이가 보고싶다면?
[자바JAVA]백준 11720 숫자의 합 풀이
https://sowon-dev.github.io/2021/04/18/210419al-backjoon-11720/