Algorithms/프로그래머스

[프로그래머스] 문자열 나누기 - Java

hyunki.Dev 2023. 1. 31. 00:30

문제 

문자열 나누기

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

풀이

  • 문제의 규칙대로 구현하면 되는 구현 문제
  • 반복문을 통해 돌리면서 첫번째 글자와 문자열들을 비교해 나간다.
    • 첫 번째 글자와 같은 글자 수 세기
    • 첫 번째 글자와 다른 글자 수 세기  

 

코드

class Solution {
    public int solution(String s) {
        int answer = 0; // 정답 
        
        char first_character = s.charAt(0); // 첫 번째 문자
        
        int same_count = 0; //첫 번째 글자와 같은 글자 수 세기
        int diff_count = 0; //첫 번째 글자와 다른 글자 수 세기 
        
        
        for(int i = 0; i < s.length(); i++){
            
            if(same_count == diff_count){ //카운트한 첫번째 글자와 같은, 다른 글자 수가 같다면
                first_character = s.charAt(i);
                answer++;
            }
            
            if(first_character == s.charAt(i)){
                same_count++;
            } else {
                diff_count++;
            }
            
        }
        // 반복문 진행    
        // i = 0  --> answer : 1 , same count : 1, diff_count : 0
        // i = 1  --> answer : 1 , same count : 1, diff_count : 1
        // i = 2 --> answer : 2 , firstCharacter : n , same count : 2, diff_count : 1
        // i = 3 --> answer : 2 , firstCharacter  : n same_count : 2 diff_count : 2
        // i = 4 --> answer : 3 , firstCharacter : n same_count : 3, diff_count : 2
        // i = 5 --> answer : 3 , firstCharcter : n same_count : 3 diff _count : 3

        return answer;
    }
}