[BOJ] 1439๋ฒ ๋ค์ง๊ธฐ
https://www.acmicpc.net/problem/1439
๋ฌธ์ ์ ๊ทผ
0์ด ๊ฐ์ด ์๋ ๊ทธ๋ฃน๊ณผ 1์ด ๊ฐ์ด ์๋ ๊ทธ๋ฃน์ด ๋ช ๊ทธ๋ฃน์ธ์ง ์ธ๋ฉด ๋๋ค๊ณ ์๊ฐํด์ ์ฒ์์๋ 0์์ 1๋ก ๋ฐ๋๋ ๋ถ๋ถ์์ cnt์ +1์ ํด์ค๋ค๊ณ ์๊ฐํ๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ชจ๋ ๊ทธ๋ฃน์ ๋ค ์ธ๊ธฐ ๋๋ฌธ์ ์ค๋ต์ด ๋์๋ค. ๊ทธ๋์ zeroGroup๊ณผ oneGroup์ ์ด์ฉํด์ ๊ฐ์ ๋ฐ๋ก๋ฐ๋ก ํ๋์ฉ ์ธ์ ๋ ์์ ๊ฐ์ ์ถ๋ ฅํด ์ฃผ์๋ค. ํ์ง๋ง ๋ง์ง๋ง ๋ถ๋ถ์ ์๋ ๊ทธ๋ฃน์ ์ฒ์ ๋ก์ง์ผ๋ก๋ ์นด์ดํธ๊ฐ ์๋์ for๋ฌธ ๋ง์ง๋ง์ผ ๋ ํ์ฌ cur๊ฐ์ group์ +1์ ํด์ฃผ์๋ค.
Code
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
char prev = input.charAt(0);
int zeroGruop = 0, oneGroup = 0; // ๊ฐ๊ฐ ๊ทธ๋ฃน์ ๋๋์ด ์นด์ดํ
for(int i=1; i<input.length(); i++){
char cur = input.charAt(i);
if(prev != cur){
// ํ์ฌ ๊ฐ๊ณผ ์ด์ ๊ฐ์ด ๋ค๋ฅด๋ฉด ์ด์ ๊ฐ์ ๊ทธ๋ฃน์ +1
if(prev == '0')
zeroGruop++;
else
oneGroup++;
}
if(i==input.length()-1){
// ๋ง์ง๋ง ์ธ๋ฑ์ค์ ์ํ ๊ทธ๋ฃน๋ +1์ ํด์ฃผ๊ธฐ ์ํด์ ์ถ๊ฐ
if(cur == '0')
zeroGruop++;
else
oneGroup++;
}
prev = cur;
}
// ๋ ๊ทธ๋ฃน ์ค ์ต์๊ฐ์ ๊ฐ์ง ๊ทธ๋ฃน ์ถ๋ ฅ
System.out.println(Math.min(zeroGruop, oneGroup));
}
}
์ด๋ ค์ ๋ ์ / ๋ฐฐ์ด ์
์ด์ ์๋ฐ ๋ฌธ๋ฒ์ ์ต์ํด์ ธ์ ์ด๋ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์จ์ผํ ์ง ๋๋์ด ์ค๊ณ String์ ์๋ ๋ฉ์๋๋ ์ ์์ด ๋ ๊ฒ ๊ฐ๋ค.
BOJ๋ ํ๋ก๊ทธ๋๋จธ์ค๋ LeetCode ์ฒ๋ผ ์ข์์๋ฅผ ๋ง์ด ๋ฐ์ ์ฝ๋๋ฅผ ๋ฐ๋ก ๋ณผ ์ ์๋ ๊ฒ ๊ฐ์์ ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ด๋ป๊ฒ ํ์์์ง ๊ถ๊ธํ๋ค.
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Algorithm/Java][LeetCode] 20. Valid Parentheses (0) | 2022.01.16 |
---|---|
[Algorithm/Java][LeetCode] 21. Merge Two Sorted Lists (0) | 2022.01.16 |
[Algorithm/Java][ํ๋ก๊ทธ๋๋จธ์ค] ๋ฌธ์์ด ๋ด ๋ง์๋๋ก ์ ๋ ฌํ๊ธฐ (0) | 2022.01.11 |
[Algorithm/Java][ํ๋ก๊ทธ๋๋จธ์ค] [1์ฐจ] ๋น๋ฐ์ง๋ (0) | 2021.10.02 |
[Algorithm/Java][ํ๋ก๊ทธ๋๋จธ์ค] 3์ง๋ฒ ๋ค์ง๊ธฐ (0) | 2021.09.05 |