๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ
๐Ÿ’ป Computer Science/- Data Structure, Algorithm

[์•Œ๊ณ ๋ฆฌ์ฆ˜ PS] ๋ฐฑ์ค€ 1439๋ฒˆ ๋’ค์ง‘๊ธฐ ์ž๋ฐ” ๋ฌธ์ œํ’€์ด

by Wonit 2021. 2. 28.

๋ฌธ์ œ

ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ๋ฐฑ์ค€์˜ 1439๋ฒˆ ๋’ค์ง‘๊ธฐ ์˜ ์ ‘๊ทผ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ ๊ธ€ ์ž…๋‹ˆ๋‹ค.
์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

1439๋ฒˆ: ๋’ค์ง‘๊ธฐ

๋‹ค์†œ์ด๋Š” 0๊ณผ 1๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด S๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋‹ค์†œ์ด๋Š” ์ด ๋ฌธ์ž์—ด S์— ์žˆ๋Š” ๋ชจ๋“  ์ˆซ์ž๋ฅผ ์ „๋ถ€ ๊ฐ™๊ฒŒ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ๋‹ค์†œ์ด๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ํ–‰๋™์€ S์—์„œ ์—ฐ์†๋œ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ˆซ์ž๋ฅผ ์žก๊ณ  ๋ชจ

www.acmicpc.net

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•ด๋ณด์ž.

๋ฌธ์ œ ์ ‘๊ทผ

๋ฌธ์ œ์—์„œ ๋ฌธ์ž์—ด์ด 0๊ณผ 1๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

 

์—ฐ์†๋œ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ˆซ์ž๋ฅผ ์žก๊ณ  ๋’ค์ง‘๋Š”๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ, ์ด ๊ธ€์„ ๋ณด๊ณ  ๋“  ์ƒ๊ฐ์ด

 

์—ฐ์†๋œ ํ•˜๋‚˜์˜ ์ˆซ์ž๋ฅผ ๊ทธ๋ƒฅ ํ•˜๋‚˜์˜ ์ˆซ์ž๋กœ ๋งŒ๋“ค์–ด๋ฒ„๋ฆฌ๋ฉด ๋˜๊ฒ ๋‹ค. ์ฆ‰, ์ˆซ์ž๊ฐ„์˜ ์—ฐ์†๋œ ์ˆ˜์˜ ์ค‘๋ณต์„ ์—†์• ๋ฉด ๋˜๊ฒ ๋‹ค.

์˜€๋‹ค.

 

๊ทธ๋Ÿผ ๋งŒ์•ฝ 00011011001 ์ด๋ผ๋Š” ์ˆ˜๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด๋ฉด 010101์ด ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์ด์ œ 0์„ ๋’ค์ง‘์„์ง€ 1์„ ๋’ค์ง‘์„์ง€ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๊ทธ๋ ‡๋‹ค. 1๊ณผ 0์ค‘ ๋“ฑ์žฅํ•œ ํšŸ์ˆ˜๊ฐ€ ๋” ์ž‘์€ ๊ฒƒ์„ ์ถœ๋ ฅํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

์ •๋‹ต ์ฝ”๋“œ

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        String[] s = br.readLine().split("");
        int[] arr = new int[s.length];

        for (int i = 0; i < s.length; i++) {
            arr[i] = Integer.parseInt(s[i]);
        }
        List<Integer> list = new ArrayList<>();
        list.add(arr[0]);
        int last = 0;
        for (int i = 1; i < arr.length; i++) {
            if(list.get(last) != arr[i]) {
                list.add(arr[i]);
                last++;
            }
        }

        int oneCount = 0;
        int zeroCount = 0;
        for(int value : list) {
            if(value == 1) oneCount++;
            else zeroCount++;
        }

        bw.write(String.valueOf(Math.min(oneCount, zeroCount)));
        bw.flush();
        bw.close();
    }
}

์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๋Œ“๊ธ€