본문 바로가기
코딩연습

[코딩연습] 특정 구간의 합 - (구름-3단계)

by 마진 2021. 5. 18.

 

풀이과정

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)

 

char - int 형변환 살펴보기

 이해했다고 생각했지만 코드를 작성하다 Character - Integer 간 형변환 때문에 원하는 결과값이 안나와서 정리하게 되었습니다. 본 내용에 들어가기 앞서,  임의의 숫자를 문자열로 입력받고 특정

margin1103.tistory.com

 

 

-참고-

ASCII - 위키백과, 우리 모두의 백과사전 (wikipedia.org)

 

ASCII - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 1972 프린터 사용 설명서에 개시된 아스키 코드 차트표 미국정보교환표준부호(영어: American Standard Code for Information Interchange), 또는 줄여서 ASCII( , 아스키)는 영문

ko.wikipedia.org