-
2072) 홀수만 더하기 JAVASW Expert Academy 2019. 12. 19. 17:03
문제는 아래의 링크에서 확인 후, 확인해주세요.
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5QSEhaA5sDFAUq#none
1. Scanner 사용해서 푼 것
12345678910111213141516171819202122//Scanner 사용을 위해public class Solution {public static void main(String[] args) {Scanner sc = new Scanner(System.in);//테스트 케이스를 입력받을 변수int T = sc.nextInt();for(int i=1; i<=T; i++) { //테스트 케이스만큼 반복해서 입력을 받음int sum = 0; //숫자들의 합을 저장할 변수for(int j=0; j<10; j++) { //하나의 케이스마다 10개씩 입력받게 함int num = sc.nextInt(); //숫자들을 입력받고if(num%2 != 0) //숫자들이 홀수인지 판별함sum += num; //홀수이면 sum에 num을 계속 저장함}System.out.println("#" + i + " " + sum); //출력}}} csScanner를 이용해서 문제를 풀었을 때,
19,984 kb 메모리 / 120 ms ( 0.13158s ) 실행시간
2. BufferedReader / BufferedWriter 사용해서 해결
12345678910111213141516171819202122232425262728293031323334public class Solution {public static void main(String[] args) throws IOException{BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));//테스트 케이스를 입력받음.//BufferedReader의 경우, String으로 받아오기 때문에 형변환이 필요하다.String Tast = bf.readLine();//테스트 케이스 변수를 지정하고 위에서 받은 Tast를 형변환해줌.int T = Integer.parseInt(Tast);for(int j=1; j<=T; j++) {int n=0; //각 케이스마다 입력받는 숫자의 변수int sum=0; //케이스의 합을 저장하는 변수//10개의 숫자를 입력받음String line = bf.readLine();//띄어쓰기로 나눠서 토큰을 읽어옴StringTokenizer st = new StringTokenizer(line, " ");while(st.hasMoreTokens()) { //토큰이 있다면n = Integer.valueOf(st.nextToken()); //n에 토큰의 값을 정수로 저장함if(n%2 != 0){ //n의 값이 홀수라면sum += n; //sum 변수에 n을 계속 더함}}}bw.flush();bw.close();bf.close(); //사용한 BufferedReader, BufferedWriter를 닫아줌}} csBufferedReader, BufferedWriter를 이용해서 문제를 풀었을 때,
19,372 kb 메모리 / 105 ms ( 0.10540s )실행시간
'SW Expert Academy' 카테고리의 다른 글
8658) Summation - Java (0) 2020.01.02 8931) 제로 - JAVA (0) 2020.01.02