[ジャワ]白駿1065:韓秀


(質問)



展開


実は、最初は「一手」ということ自体が理解できませんでした.理解速度が遅い原因は,出力内容を誤って理解している可能性が高い.N보다 작거나 같은 한수의 개수を印刷させてもらいましたが、N보다 작거나 같은 한수を読み間違えました.私が読み間違えたことを知って、何度も読んだ後......
うまいことを言う
こちらのドラマを参照すると理解が早いです.

  • public class A2 {
    	public static void main(String[] args) throws NumberFormatException, IOException {
    		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    		// 버퍼는 String형태로 넘어오니까 형변환 해주기
    		int endNum = Integer.parseInt(br.readLine());
    		// 출력해줄 out과
    		// 각 자리 수를 구해줄 hund, ten, one
    		int out, hund, ten, one;
    		// 한수를 찾아 누적해줄 cnt
    		int cnt=0;
    		// 만약 주어진 수가 100 미만이라면 그 수는 모두 한수이다.
    		if (endNum < 100) {
    			out = endNum;
    		// 100보다 크다면 각 자리의 수를 구해서
    		} else {
    			for(int i=100; i<=endNum; i++) {
    				hund = i/100;
    				ten = (i%100)/10;
    				one = (i%100)%10;
    				// 빼본다. 그랬을 때 차이가 같으면 한수
    				if((hund-ten) == (ten-one)) {
    					cnt++;
    				}
    			}
    			// 100보다 작다면 모두 한수니까 99를 기본으로 깔아주고
    			// 그 이후에 쌓인 수들을 계산해서 cnt에 누적된 횟수를 더해준다
    			out = cnt+99;
    		}
    		System.out.println(out);
    	}
    }