오늘의 실수 - 0511 / 백준 10430(나머지)

한장민·2022년 5월 11일
0

오늘의실수

목록 보기
3/6
post-thumbnail

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		int A = sc.nextInt();
		int B = sc.nextInt();
		int C = sc.nextInt();
		
		System.out.println((A+B)%C);
		System.out.println((A%C + B%C )%C);
		System.out.println((A*B)%C);
		System.out.println((A%C * B%C)%C);

	}

}

세 숫자를 입력받아 나머지 연산자를 이용하여 값을 구하는 문제.
더 적은 시간과 메모리로 해결해보기 위해 BufferedReader를 사용해보려 했으나 코드에 딱히 이상이 없어 보이는데도 불구하고 실패가 떴다. 이상하다 싶어서 싹 지우고 Scanner를 사용했는데도 런타임에러(NoSuchElement)가 발생했다.(이클립스에서는 잘 작동했다.) 더 이상하다 싶어서 아예 클래스를 새로 만들어서 다시 코드를 쳐보니까 Scanner로 해결되었다. 문제가 발생한 이유가 될만한 건 새로 클래스를 생성한 게 아니라 예전에 썼던 Main 클래스의 내용만 지우고 작성했다는 점이다. 사실 왜 오류가 생겼는지 잘 모르겠다.. 며칠뒤에 까먹을때쯤 다시 해봐야할 것 같다.


아래가 처음 BufferedReader를 사용하여 작성한 코드다. 혹시나싶어 구글로도 검색해봤는데 코드가 크게 다르지않았다. 이유가 뭘까.. 그래서 오늘의 실수 겸 코딩테스트 게시글이 되었다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {

	public static void main(String[] args) throws IOException{
		
	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
	String str = br.readLine();
	StringTokenizer st = new StringTokenizer(str," ");
	
	int A = Integer.parseInt(st.nextToken());
	int B = Integer.parseInt(st.nextToken());
	int C = Integer.parseInt(st.nextToken());
	
	System.out.println( (A+B) % C);
	System.out.println( ( (A%C) + (B%C) ) % C);
	System.out.println( (A*B) % C);
	System.out.println( ( (A%C) * (B*C) ) % C);
	
	
	

	}

}


profile
HAAN YJGB

0개의 댓글