본문 바로가기

알고리즘

정수 3개를 입력 받고 합계를 반환하는 알고리즘

import java.io.*;
import java.util.*;
import java.lang.*;

class Main {
  public static final Scanner scanner = new Scanner(System.in);
	public static void main(String[] args) {
		int tc = scanner.nextInt(); //정수형 변수 tc에 입력할 횟수를 입력받음,
		scanner.nextLine(); //문자열을 입력받음, nextLine() = '\n'(공백)을 포함하는 한 라인을 읽고 '\n'을 제외한 값을 반환
		
		String[] threeNumList = new String[tc+1]; //문자열 배열 생성(크기는 입력받은 tc보다 +1)

		for( int i = 0; i < tc; i++ ){
			
			String str =  scanner.nextLine(); //문자열 변수 str에 문자를 입력받음
			
			if(str == "") { //만약 입력받은 문자가 공백이라면
				continue;	//계속 진행
			}
			
			threeNumList[i] = str; //문자열 배열 threeNumList의 [i] 인덱스에 입력받은 str을 값으로 넣음
		}
		
		for(int i = 0; i < tc; i++){
			System.out.printf("Case #%d\n", i+1); //%d = 부호 있는 10진수 정수, \n = 줄 바꿈, i + 1(), 출력 미리보기: Case #1(i + 1), Case #2(i + 1)...
			testCase(threeNumList[i]); //threeNumList를 인자로 tsetCase 메서드 실행
		}
  }
	public static void testCase(String numList){	
		 String[] arraysStr = numList.split(" "); //문자열을 공백으로 분리하여 숫자를 추출, 문자열 배열 arrayStr에 값을 담음
		//추출한 숫자를 정수로 변환한뒤 합계를 반환
		System.out.println( Integer.parseInt(arraysStr[0]) + Integer.parseInt(arraysStr[1]) + Integer.parseInt(arraysStr[2]) );  
	}
}

 

주석들은 알고리즘을 이해하기 위해 절마다 나누어 적음. split(), parseInt(), nextLine() 등 제대로 학습하고 기억해야 겠다.

 

10주 완성 알고리즘 코딩테스트 - goorm edu에서 들으실 수 있는 내용입니다.