for나 while쓰지 말라는건 데이터 반복으로 조회해서 하지 말라는건데 재귀 쓰면 어떡하니...
뭐 어쨋든 for while쓴건 아니니 통과야 될거 같지만 교수님 의도는 그게아님.
그리고 스트링 받아서 자르니 배열을 쓰니 하는 것도 교수님 의도가 전혀 아님.
대학 수업, 거기다 1학년 수업이라는거 보면 스트링 자르고 배열에 데이터 넣어서 하나씩 끄집어내서 확인하는 둥 이런 번거롭고 지엽적인걸로 풀어보라고 저런 문제 낸게 절대 아니다.
그냥 말 그대로 진짜 if문으로 문제에서 발생할 조건들 생각해가면서 풀어보라는게 교수님 의도임.
public static void main(String[] args){
Scanner s = new Scanner(System.in);
int a = s.nextInt();
int b = s.nextInt();
//값의 범위 안 맞을 때
if(b>9){
System.out.print("error");
}
//b가 a보다 클때
if(a<b){
System.out.println("0");
}
//a의 범위가 10 미만일 때
if(a>b && a< 10){
System.out.println("1");
}
//a의 범위가 10이상일 때
if(a >= b){
System.out.println(a/10+2);
}
if(a <b){
System.out.println(a/10+1);
}
}
이렇게 다른 잡다한 문법이나 기법 안 쓰고 리얼 if문으로 풀어버리는게 교수님이 원하는 거임.
디버깅 안해서 버그 있을수 있는데 그런건 알아서 고쳐라
이게 입력 44, 4에 대해서 답을 내놓음? 디버그는 무슨 문제 이해도 제대로 못한거 같은데 ㅋ
ㄴ 아 그거도 있구나 그거도 그럼 그냥 if문에 넣으면 되지. a가 10보다 클 때 a의 첫째자리 수가 b랑 같은 경우 카운팅 계속 하게 하면 됨
그냥 위에 소스에서 a가 10보다 큰 경우 작성한 if문 안에 if(a/10 > b) 하나만 추가해서 카운트 늘리면 끝
아 두개 써야되네 a/10이면서 b가 a보다 큰 경우 작은 경우 이렇게 두가지로 나눠서 카운팅 하면 됨
디시 댓글 왜 아까부터 % 뒤에 숫자 붙이면 글 잘리냐. b가 a의 일의 자리보다 큰지 작은지 비교하는 구분 하나 나눠서 카운팅 하면 됨. 대충 생각해서 if문 다섯개면 되는줄 알았는데 9개 정도 써야되겠네
직접 해보라고 해서 위에 다시 올렸으니 확인좀 해봐라 디버깅 귀찮으니 대신 해줘