https://programmers.co.kr/learn/courses/30/lessons/60057
나의 풀이
#include <string>
#include <vector>
#include <iostream>
using namespace std;
int find(string s, int n) {
string str = "";
string compare = s.substr(0, n);
int i, count = 0;
for (i = 0 + n; i < s.size(); i += n) {
if (s.substr(i, n).compare(compare) == 0) {
count++;
}
else {
if (count == 0) {
str += compare;
}
else {
str += to_string(count + 1) + compare;
}
compare = s.substr(i, n);
count = 0;
}
}
if (count == 0) {
str += compare;
}
else {
str += to_string(count + 1) + compare;
}
return str.size();
}
int solution(string s) {
int answer = 1000;
for (int i = 1; i <= (s.size() / 2)+1; i++) {
int num = find(s, i);
if (answer > num) answer = num;
}
return answer;
}
'전공공부 > 코딩테스트' 카테고리의 다른 글
(c++) 프로그래머스 추석 트래픽 (0) | 2022.01.06 |
---|---|
(c++) 프로그래머스 오픈채팅방 (0) | 2022.01.04 |
(c++) 프로그래머스 신규 아이디 추천 (0) | 2022.01.04 |
(c++) 백준 1655번 가운데를 말해요 (0) | 2021.12.29 |
(c++) 백준 12865 평범한 배낭 (0) | 2021.12.29 |