문제1. RPG게임을 하나 만들 것인데 턴제이다. 용사의 공격력과 마왕의 체력, 회복력을 지정하고 턴 몇 번이 지나면 마왕을 쓰러트릴 수 있는지 계산하는 프로그래밍을 작성하시오


뭐 대충 이런 문제였는데. 못 죽이면 못 죽인다고 띄우고(죽일 수 있으면 YES, 못 죽이면 NO)라고 쓰라고 했던 것 같음.


제한 시간 1시간 반이었나 아마?


지금 맡은 안건에서 코틀린 쓰게 돼서 과거에 쓴 자바 프로그램 뒤적뒤적하다가(코틀린으로 변환하려고) 발견함 ㅋ



그때 풀면서 느낀 건데 마왕의 회복력이 용사의 공격력보다 강한 경우, 혹은 동일한 경우 조건 잘못 지정하면 영원히 프로그래밍 돌아가서 탈락했던 것 같음. 

그게 체크 포인트인가봄.


일본에서 자바 처음 배우는 애들 막 if for when switch list이런 거 가르쳐놓고서 보는 테스트라 이런 문제 한 6개 정도 있었던 걸로 기억하는데 클리어한 애들 많지 않았던 걸로 기억함.


올해 신입은 무슨 시험문제 받으려나 


문제1. RPG게임을 하나 만들 것인데 턴제이다. 용사의 공격력과 마왕의 체력, 회복력을 지정하고 턴 몇 번이 지나면 마왕을 쓰러트릴 수 있는지 계산하는 프로그래밍을 작성하시오

import java.util.Scanner;

public class BossBattle {

  public static void main(String[] args) {

  Scanner sc = new Scanner(System.in);   

  int h = sc.nextInt(); //モンスターのHP

  int a = sc.nextInt(); //勇者の攻撃力

  int b = sc.nextInt(); //モンスターの回復力

  int cnt = 1; int h2 = 0; int b2 = 0;

      h2 = h - a; b2 = a - b;

      //計算開始

      if(h2>0 && b2 > 0) {

  while(h > 0 && h < 2146989275) {

  h = h-a;

  if (h<=0){

  break;

  }

  h += b; cnt ++;

  }

  }      

      //出力

  if (h2 <= 0) {

  System.out.println("YES");

  System.out.println(1);

  }else if(h<=0) {

  System.out.println("YES");

  System.out.println(cnt);

  }

      else if(h>0 && h2>0) {

  System.out.println("NO");

  }

  }

  }