https://codeforces.com/problemset/problem/71/A
input
4
word
localization
internationalization
pneumonoultramicroscopicsilicovolcanoconiosis
output
word
l10n
i18n
p43s
word는 문자열 길이가 4니까 바로 출력
localization은 문자열 길이가 10을 넘어가니깐 첫번째 문자 + (전체 문자열 길이 - 2) + 마지막 문자
문자열 10 이하일떄는 그냥 출력해주고,
10을 넘어갈 떄, 새로운 문자열 객체를 생성하고 첫번째 문자 + (전체 문자열 길이 -2)(to_string사용) + 마지막문자를
더하면 되는 문제였다.
전체 소스 코드->
#include <iostream>
#include <string>
using namespace std;
int main(void){
string str[100];
int n;
cin >> n;
for(int i = 0;i<n;i++){
cin >> str[i];
}
for(int i = 0;i<n;i++){
if(str[i].size()<=10){
cout << str[i] << '\n';
}
else{
string ans = "";
ans = ans + str[i][0];
int ans_size = str[i].size()-2;
ans = ans + to_string(ans_size);
ans = ans + str[i][str[i].size()-1];
cout << ans << '\n';
}
}
}
'알고리즘' 카테고리의 다른 글
백준 2435 기상청 인턴 신현수 C++ (0) | 2022.05.04 |
---|---|
백준 1240 노드 사이의 거리 C++ (0) | 2022.05.04 |
백준 1235 학생번호 C++ (0) | 2022.05.01 |
백준 1850 최대공약수 C++ (0) | 2022.05.01 |
백준 2002번 추월 C++ (0) | 2022.04.28 |