
예제의 3 7로 출력이 5가 나온다 이는 그림을 그렸을때

위와 같은 그림이 나온다. 즉 3-3 = 2개, 1-1 = 3개로 5개가 된다.
이를 힌트로 생각하고 코드를 구현하면된다. (필자는 1-1을 생각못해 시간이 걸렸다..)
package text.silver;
import java.io.*;
import java.util.StringTokenizer;
public class BOJ_7113 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int cnt = 0;
while (n != m) {
if (n > m) n -= m;
else m -= n;
cnt++;
}
bw.append(String.valueOf(cnt + 1)).append("\n");
bw.flush();
bw.close();
}
}
※ 처음엔 if문으로 case를 나누어 풀었지만 조건을 n!=m으로 간단하게 주어 구현을 간단히 하였다.
※ String.valueOf의 경우
사진 설명을 입력하세요.
위와 같의 정의를 가진다. Integer를 String으로 변환해준다.
https://www.acmicpc.net/problem/7113