BOJ_7113

Lee Do Kyung·2024년 9월 25일

Boj

목록 보기
7/12

알고리즘:

  • 수학
  • 정수론
  • 재귀

풀이:

예제의 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

깃허브 링크:

https://github.com/dbzoseh2rl

profile
유능한 Backend 개발자가 되기위해 열심히 하겠습니다!

0개의 댓글