문제설명

 

소스코드

import java.util.Scanner;
public class Main 
{
    public static void main(String[] args) throws Exception 
    {
    	Scanner sc = new Scanner(System.in);
    	while(sc.hasNextInt())
    	{
	    	int n = sc.nextInt();
	    	int k = sc.nextInt();
	    	int ans = n;
	    	int stamps;
	    	while(n >= k)
	    	{
	    		stamps = n / k;
	    		ans += stamps;
	    		n = stamps + (n % k);
	    	}
	    	System.out.println(ans);
    	}
    }
}

 

설명

  • 코드가 간단하기 때문에 코드에 대한 설명은 필요없을 것 같다.
  • 문제를 보면 테스트케이스의 종료조건이 명시되어있지 않다.
    또한 입력이 한 줄 한 줄 순서대로 입력되는게 아니라 한번에 여러 줄이 입력이 들어오기 때문에
     EOF문제를 처리해주어야 한다
  • 자바에서 EOF문제를 처리하는 것은 Scanner를 쓰느냐 아니면 BufferedReader를 쓰느냐에 따라서 달라진다.
Scanner
Scanner sc = new Scanner(System.in);
while(sc.hasNext())
{
	//sc.nextInt();
    //실행할 코드
}​

 

BufferedReader
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = "";
while((str = br.readLine()) != null)
{
	//실행할 코드
}​