문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/60057
완전 탐색법으로 푸는 문제였습니다.
알고리즘은 아래와 같습니다.
1. 주어진 문자열의 길이가 1이면 압축을 해도 1이므로 1을 반환합니다.
2. 압축 단위는 1 ~ (주어진 문자열의 반)까지 가능하므로 각각의 경우의 수를 모두 구해줘야 합니다.
2.1 재귀 함수를 통해 압축 가능 여부를 판단하고 압축이 가능하면 func 함수의 cnt 매개변수를 1 증가시켜주고 압축이 불가능하면 func 함수의 word에 여태까지의 압축 문자열을 추가해줍니다.
2.2 문자열의 끝까지 2.1을 진행한 뒤 result 문자열과 비교하여 더 길이가 작은 쪽을 result에 저장해줍니다.
3. result의 길이를 반환해줍니다.
개발환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
반응형
'알고리즘 > programmers' 카테고리의 다른 글
[Programmers] 소수 찾기 (0) | 2021.12.21 |
---|---|
[Programmers] 서울에서 김서방 찾기 (0) | 2021.12.18 |
[Programmers] 메뉴 리뉴얼 (0) | 2021.12.09 |
[Programmers] 두 정수 사이의 합 (0) | 2021.12.08 |
[Programmers] 가운데 글자 가져오기 (0) | 2021.12.07 |