๐Ÿงฉ Algorithm/[BOJ] Bronze

BOJ 4299 : AFC ์œ”๋ธ”๋˜ (Java/๊ตฌํ˜„/Bronze 4)

devCloud 2024. 10. 8. 23:24
728x90

https://www.acmicpc.net/problem/4299


์„ค๋ช…

๋ฌธ์ œ์—์„œ ์„œ๋ก ์ด ๊ธธ์ง€๋งŒ ํ•ต์‹ฌ์€ ๋งจ ์•„๋žซ์ค„์ด๋‹ค. ๋‘ ํŒ€์˜ ์ ์ˆ˜์˜ ํ•ฉ๊ณผ ์ฐจ๊ฐ€ ์ฃผ์–ด์ง€๊ณ  ๊ทธ๊ฑธ ์ด์šฉํ•ด์„œ ์Šค์ฝ”์–ด๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋‹จ์ˆœํ•œ ์ˆ˜ํ•™ ๋ฌธ์ œ์ด๋‹ค.

 

ํ’€์ด

์ ์ˆ˜์˜ ํ•ฉ์—์„œ๋ถ€ํ„ฐ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋‹ค ํ™•์ธํ•˜๋ฉด์„œ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋‹ค. 1์”ฉ ๋งˆ์ด๋„ˆ์Šค ํ•ด๊ฐ€๋ฉด์„œ ์ž…๋ ฅ๋œ ์ ์ˆ˜์ฐจ์™€ ๋งž๋Š”์ง€ ํ™•์ธํ–ˆ๋‹ค. 

 

1. mk๋Š” ์ƒ๋Œ€ํŒ€, afc๋Š” ์šฐ๋ฆฌํŒ€์ด๋ผ๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. (ํ—ท๊ฐˆ๋ฆผ ๋ฐฉ์ง€)

2. while ๋ฌธ

  1. ์ ์ˆ˜ํ•ฉ์—์„œ 0์„ ๋นผ์„œ afc ๋ณ€์ˆ˜์— ์ €์žฅํ•œ๋‹ค. ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋‹ค ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ๋จผ์ € ์ƒ๋Œ€ํŒ€ ์ ์ˆ˜๊ฐ€ 0์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ํ‘ผ๋‹ค. 
  2. ์šฐ๋ฆฌํŒ€์ธ afc ์ ์ˆ˜์—์„œ ์ƒ๋Œ€ํŒ€์ธ mk๋ฅผ ๋บ€ ๊ฐ’์ด ์ ์ˆ˜์ฐจ์™€ ๊ฐ™์œผ๋ฉด ์Šค์ฝ”์–ด๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  while๋ฌธ์„ ๋น ์ ธ๋‚˜์˜จ๋‹ค.
  3. ์ ์ˆ˜์ฐจ๊ฐ€ ๊ฐ™์ง€ ์•Š์œผ๋ฉด ์ƒ๋Œ€ํŒ€ mk ์ ์ˆ˜๋ฅผ 1 ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.
  4. ๊ทธ๋ž˜์„œ ์ ์ˆ˜์ฐจ๊ฐ€ ๊ฐ™์•„์งˆ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค.
  5. ๊ทธ๋Ÿฌ๋‚˜ ํ•ฉ๊ณผ ์ฐจ๋ฅผ ๊ฐ–๋Š” ๊ฒฝ๊ธฐ ๊ฒฐ๊ณผ๊ฐ€ ์—†์„ ๋•Œ -1์„ ์ถœ๋ ฅํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ƒ๋Œ€ํŒ€ ์ ์ˆ˜๊ฐ€ ์ ์ˆ˜ ํ•ฉ๋ณด๋‹ค ํฌ๋ฉด ์ค‘๋‹จ์‹œํ‚ค๋„๋ก ํ•œ๋‹ค.

 

์ถœ๋ ฅ ๊ฒฐ๊ณผ ์กฐ๊ฑด์—์„œ ์ ์ˆ˜๊ฐ€ ๋†’์€ ๊ฑฐ ๋จผ์ € ์ถœ๋ ฅ์‹œํ‚ค๋ผ๊ณ  ํ–ˆ๋Š”๋ฐ, ์–ด๋А ํŒ€ ์ ์ˆ˜๊ฐ€ ๋†’๋“  ์ ์ˆ˜์ฐจ๋Š” ์ผ์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋Ÿฐ ์กฐ๊ฑด์€ ์ฝ”๋“œ์— ๋„ฃ์–ด์ฃผ์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

 

 

Solution

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int sum = sc.nextInt();
        int diff = sc.nextInt();

        int mk = 0;
        while(true) {
            int afc = sum - mk;
            if (afc - mk == diff) {
                System.out.println(afc + " " + mk);
                break;
            } else {
                mk += 1;
            }

            if (mk > sum) {
                System.out.println(-1);
                break;
            }
        }
    }
}
/**
 * ๋ฐ˜๋ก€ : 6 6 or 6 5
 */

 

 

๐Ÿ‘ฉ‍๐Ÿ’ป ํšŒ๊ณ 

๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋‹ค ๋”ฐ์กŒ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ์ƒ๋Œ€ํŒ€ ์ ์ˆ˜๊ฐ€ 0์ธ ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐ ๋ชปํ–ˆ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ฒ˜์Œ์— ์ ์ˆ˜์ฐจ๊ฐ€ 0์ด์˜€์„ ๋•Œ -1์„ ์ถœ๋ ฅ์‹œ์ผฐ์—ˆ๋”๋žฌ๋‹ค... 


 

728x90