15일차 - 알고리즘 코드카타

2024. 8. 5. 21:57·Java & Spring/코딩테스트

- 회고

65. 문자열 나누기 : https://school.programmers.co.kr/learn/courses/30/lessons/140108

 

프로그래머스

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

programmers.co.kr

 

- 풀이 과정 

class Solution {
    public int solution(String S) {
        int answer = 0;

        int i = 0;
        outLoop:
        while(i < S.length()) {
            if(i == S.length() - 1){
                answer++;
                break;
            }
            char x = S.charAt(i);
            int xCnt = 1;
            int yCnt = 0;
            for(int j = i + 1; j < S.length(); j++){
                char y = S.charAt(j);
                if(x == y){
                    xCnt++;
                }else{
                    yCnt++;
                }
                if(xCnt == yCnt) {
                    answer++;
                    if (j < S.length() - 1) {
                        i = j + 1;
                        break;
                    }else{
                        break outLoop;
                    }
                }else if(xCnt != yCnt && j == S.length() - 1){
                    answer++;
                    break outLoop;
                }
            }
        }
        return answer;
    }
}
  1. i가 마지막 글자이면 종료하고 +1
  2. 문자 x를 선언하고 xCnt = 1로 시작
  3. 다음 글자를 비교하면서 xCnt, Ycnt의 경우를 비교하며 증가
  4. xCnt = yCnt이면 answer을 증가시키고 x를 y다음글자로 변경하면서 반복
  5. j는 마지막 글자 전까지 반복, 마지막 글자면 전체 반복문을 빠져나옴
  6. 두 cnt가 같지 않은데 j가 마지막 글자면 그대로 종료하고 answer증가

※ 중간 중간 break을 통한 경우의 수 관리가 어려웠다.

- 진행

일자 완료 번호
24.07.16 ~ 24.07.31 1~63
24.08.01 64
24.08.02 65
   
   
   
   
   
   
   
   
   
   

 

'Java & Spring > 코딩테스트' 카테고리의 다른 글

17일차 - 알고리즘 코드카타  (0) 2024.08.06
16일차 - 알고리즘 코드카타  (0) 2024.08.06
14일차 - 알고리즘 코드카타  (0) 2024.08.01
13일차 - 알고리즘 코드카타(시간초과)  (0) 2024.07.31
12일차 - 알고리즘 코드카타(실패)  (0) 2024.07.31
'Java & Spring/코딩테스트' 카테고리의 다른 글
  • 17일차 - 알고리즘 코드카타
  • 16일차 - 알고리즘 코드카타
  • 14일차 - 알고리즘 코드카타
  • 13일차 - 알고리즘 코드카타(시간초과)
DJ.Kang
DJ.Kang
백엔드 개발 기록 블로그
  • DJ.Kang
    DJ Hello World
    DJ.Kang
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 이론공부
        • 자격증
        • 개념
      • 시스템설계
      • Java & Spring
        • TIL
        • 트러블슈팅
        • 고도화
        • 알고리즘
        • 코딩테스트
        • Java
        • Spring
        • Thymeleaf
      • 프로젝트
        • coin-trading
        • 트러블슈팅
      • Docker
      • DB
      • AWS
      • CI-CD
      • 웹
      • git & github
      • 구인공고분석
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    데이터 타입
    프로그래머스 java 기초트레이닝
    java enhance switch
    프로그래머스 java 기초 트레이닝
    자료구조
    java 제어자
    데이터 크기
    java
    java 유클리드 호제법
    java super
    java 멤버
    java 세수의합
    Java this
    Java 생성자
    java기초
    개발로드맵
    java two-pointer
    java 메서드
    java 에라토스테네스의 체
    java arrays.copyofrnage()
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
DJ.Kang
15일차 - 알고리즘 코드카타
상단으로

티스토리툴바