๊ธฐ๋ก๋ฐฉ

BOJ_1059 : ์ข‹์€ ๊ตฌ๊ฐ„ ๋ณธ๋ฌธ

CodingTest/Java

BOJ_1059 : ์ข‹์€ ๊ตฌ๊ฐ„

Soom_1n 2022. 10. 30. 17:25

๐Ÿ‘‰ ๋ฌธ์ œ๋งํฌ

 

1059๋ฒˆ: ์ข‹์€ ๊ตฌ๊ฐ„

[9, 10], [9, 11], [9, 12], [10, 11], [10, 12]

www.acmicpc.net



๐Ÿ”ธ ๋ฌธ์ œ ๋ถ„์„ ๐Ÿ”ธ

  • l๊ฐœ์˜ ๋ฐฐ์—ด S์˜ ์›์†Œ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๊ณ , n์€ ํฌํ•จํ•˜๋Š” ๋ฒ”์œ„( [a,b] )์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
  • ๋ฐฐ์—ด ์›์†Œ๋ฅผ n๊ณผ ํ•˜๋‚˜์”ฉ ๋น„๊ตํ•ด์„œ ๋ฒ”์œ„๋ฅผ ์ฐพ๋Š”๋‹ค.
    • ์›์†Œ๊ฐ€ n๋ณด๋‹ค ์ž‘๊ณ  ๊ธฐ์กด์˜ a๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด, a์— ์ €์žฅํ•œ๋‹ค.
    • ์›์†Œ๊ฐ€ n๋ณด๋‹ค ํฌ๊ณ  ๊ธฐ์กด์˜ b๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด, b์— ์ €์žฅํ•œ๋‹ค.
    • ๋งŒ์•ฝ ์›์†Œ๊ฐ€ n๊ณผ ๊ฐ™๋‹ค๋ฉด, ๋ฒ”์œ„๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ 0์„ ์ถœ๋ ฅํ•˜๊ณ  ์ข…๋ฃŒํ•œ๋‹ค.
  • a๋ถ€ํ„ฐ b์ค‘์— n์„ ํฌํ•จํ•˜๋Š” ๋ฒ”์œ„์˜ ์ˆ˜๋ฅผ ์„ธ๊ณ  ์ถœ๋ ฅํ•œ๋‹ค.

๐Ÿ”ธ ์ฝ”๋“œ ๐Ÿ”ธ

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int l = Integer.parseInt(br.readLine());
        StringTokenizer st = new StringTokenizer(br.readLine());
        int n = Integer.parseInt(br.readLine());
        int a = 0;
        int b = 1001;
        int answer = 0;

        for (int i = 0; i < l; i++){
            int s = Integer.parseInt(st.nextToken());
            if (s==n){
                System.out.println(answer);
                System.exit(0);
            }
            else if (s < n && s >= a)
                a = s+1;
            else if (s > n && s <= b)
                b = s-1;
        }

        if (a == 0) a++;
        if (b == 1001) b--;
        if (a == b) System.out.println(answer);
        else {
            for (int i = a; i <= n; i++){
                for (int j = n; j <= b; j++)
                {
                    if (i != j)
                        answer++;
                }
            }
            System.out.println(answer);
        }
    }
}

๐Ÿ”ธ ์ฝ”๋“œ ํ•ด์„ ๐Ÿ”ธ

  • ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ์›์†Œ๋ฅผ ํ•˜๋‚˜์”ฉ ๊ณ„์‚ฐํ•ด์„œ a, b ๊ฐ’์„ ์ฐพ๋Š”๋‹ค.
  • a์™€ b๊ฐ€ ์ดˆ๊ธฐ๊ฐ’ ์ƒํƒœ๋ผ๋ฉด ๋ฒ”์œ„ ์ง€์ •์„ ์œ„ํ•ด a๋Š” ์ตœ์†Œ๊ฐ’์€ 1, b๋Š” ์ตœ๋Œ€๊ฐ’์ธ 1000์œผ๋กœ ๋งŒ๋“ ๋‹ค.
  • a==b๋ผ๋ฉด, ๋ฒ”์œ„๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ 0์„ ์ถœ๋ ฅํ•œ๋‹ค.(๊ทธ ๊ฐ’์€ n)
  • a!=b๋ผ๋ฉด, ๋ฒ”์œ„๋Š” (a~n) ~ (n~b)๋ฅผ ํƒ์ƒ‰ํ•ด์„œ ๊ฐœ์ˆ˜๋ฅผ ์„ผ๋‹ค.
    • ๋‹จ, a==b๋ผ๋ฉด a, b๊ฐ€ n์œผ๋กœ ๊ฒน์น˜๋Š” ๊ฒฝ์šฐ์ด๋ฏ€๋กœ ์ œ์™ธํ•ด์ค€๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • ๋ฌธ์ œ๊ฐ€ ๊ฐ„๋žตํžˆ ์ดํ•ด๊ฐ€ ๋์ง€๋งŒ, ์™„์ „ํ•˜๊ฒŒ ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ํŒŒ์•…ํ–ˆ๋‹ค๋Š” ๊ธฐ๋ถ„์€ ๋“ค์ง€ ์•Š๋Š”๋‹ค.
  • ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ณฐ๊ณฐํžˆ ๋”ฐ์ ธ๋ด์•ผํ•˜๋Š” ๋ธŒ๋ฃจํŠธ ํฌ์Šค์ง€๋งŒ, ๋ฒˆ๊ฑฐ๋กœ์›Œ์„œ ๋ฐ˜๋ก€๋ฅผ ์ฐพ์•„ ๋„ฃ์œผ๋ฉฐ ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ’€์—ˆ๋‹ค.

728x90

'CodingTest > Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

BOJ_1120 : ๋ฌธ์ž์—ด  (0) 2022.11.02
BOJ_1064 : ํ‰ํ–‰์‚ฌ๋ณ€ํ˜•  (0) 2022.11.01
BOJ_1051 : ์ˆซ์ž ์ •์‚ฌ๊ฐํ˜•  (0) 2022.10.27
BOJ_2003 : ์ˆ˜๋“ค์˜ ํ•ฉ 2  (0) 2022.10.26
BOJ_11004 : K๋ฒˆ์žฌ ์ˆ˜  (0) 2022.10.25