풀이과정
1. 총 세번에 걸쳐서 입력을 받음
용도에 따라 정수형, 문자열배열, 문자열 변수 선언 및 저장
2. 산술연산을 위해 문자형 배열을 정수형배열로 변경
3. 주어진 범위에 따라 정수형 배열의 요소값을 더하여 준다.
합을 위한 구간 입력값을 처리하는데 생각외로 어려움을 겪음.
문자열로 받은 뒤 첫번째와 세번째 문자를 이용해서 합계범위를 구하려는 계획 구상
계속 인덱스범위를 에러가 발생하였고 이유를 확인해보니
charAt(int index)로 구한 값을 엉뚱하게 처리하였다.
charAt() 메소드의 return 값은 char 형이지만 아무생각 없이 for문의 int i 의 초기값 및 비교조건값으로 설정
char형 자료가 포함된 산술연산을 할 때, 형 변화를 고려하여 의도한 결과가 나오도록 코드작성
Integer static parseInt(String s)
String split(String regex), charAt(int index)
-풀이 코드-
/*
* main()메소드 및 예외처리 생략
* BufferedReader 의 참조변수 및 입출력 생성자 선언부 생략
*/
int arrLength = Integer.parseInt(br.readLine());
String[] array = br.readLine().split(" ");
String sumRange=br.readLine();
int sum=0;
int[] inputArr = new int[arrLength]; //처음 입력값
for(int i=0; i<array.length; i++){
inputArr[i] = Integer.parseInt(array[i]);
}
for(int i=sumRange.charAt(0)-'0'-1; i<= sumRange.charAt(2)-'0'-1; i++){
sum+=inputArr[i];
}
System.out.println(sum);
char - int 형변환 살펴보기 (tistory.com)
-참고-
ASCII - 위키백과, 우리 모두의 백과사전 (wikipedia.org)
'코딩연습' 카테고리의 다른 글
[코딩연습] 최대 자리곱(구름-3단계) - Error(시간초과) (0) | 2021.06.06 |
---|---|
[코딩연습] 문자열 번갈아 출력하기 (구름 - Level 3) StringBuffer (0) | 2021.05.21 |
[코딩연습] 여름의 대삼각형 (구름 - 1단계) (0) | 2021.05.12 |
[코딩연습]태민이의 취미 (구름-1단계) [통과x] (0) | 2021.05.10 |
고장난 컴퓨터 - level 1(구름, Java) (0) | 2021.05.09 |