문제 링크 : programmers.co.kr/learn/courses/30/lessons/72410#
이 문제에서 주의해야할 사항은 '.', 즉, 마침표의 위치이다.
깊게 생각하지 않아도 무작정 나열해서 풀 수 있는 구현 문제이므로, 마지막에 '.'와 관련된 부분만 별도로 체크를 잘 해주면 된다.
때문에 별도의 설명은 생략하도록 한다.
#include <string>
using namespace std;
string solution(string new_id) {
string answer = "";
for(int i=0; i<new_id.size(); i++){
if(answer.size()>=15) break;
if(new_id[i]>='A'&&new_id[i]<='Z') answer += new_id[i]+32;
else if((new_id[i]>='a'&&new_id[i]<='z')||new_id[i]=='-'||new_id[i]=='_'||(new_id[i]>='0'&&new_id[i]<='9')&&new_id[i]!='.') answer += new_id[i];
else if(new_id[i]=='.'){
if(answer.size()==0) continue;
else if(answer[answer.size()-1]=='.') continue;
else if(answer.size()==14) break;
else answer+=new_id[i];
}
}
if(answer[answer.size()-1]=='.') answer.erase(answer.size()-1,1);
if(answer.size()==0) answer = "aaa";
if(answer.size()<3){
if(answer[answer.size()-1]=='.') answer[answer.size()-1] = answer[answer.size()-2];
while(answer.size()!=3){
answer+=answer[answer.size()-1];
}
}
return answer;
}
테스트 1 〉 | 통과 (0.01ms, 3.95MB) |
테스트 2 〉 | 통과 (0.01ms, 3.96MB) |
테스트 3 〉 | 통과 (0.01ms, 3.96MB) |
테스트 4 〉 | 통과 (0.01ms, 3.97MB) |
테스트 5 〉 | 통과 (0.01ms, 3.95MB) |
테스트 6 〉 | 통과 (0.01ms, 3.98MB) |
테스트 7 〉 | 통과 (0.01ms, 3.97MB) |
테스트 8 〉 | 통과 (0.01ms, 3.78MB) |
테스트 9 〉 | 통과 (0.01ms, 3.97MB) |
테스트 10 〉 | 통과 (0.01ms, 3.77MB) |
테스트 11 〉 | 통과 (0.01ms, 3.98MB) |
테스트 12 〉 | 통과 (0.01ms, 3.96MB) |
테스트 13 〉 | 통과 (0.01ms, 3.78MB) |
테스트 14 〉 | 통과 (0.01ms, 3.97MB) |
테스트 15 〉 | 통과 (0.01ms, 3.96MB) |
테스트 16 〉 | 통과 (0.01ms, 3.95MB) |
테스트 17 〉 | 통과 (0.01ms, 3.97MB) |
테스트 18 〉 | 통과 (0.01ms, 3.83MB) |
테스트 19 〉 | 통과 (0.01ms, 3.9MB) |
테스트 20 〉 | 통과 (0.02ms, 3.95MB) |
테스트 21 〉 | 통과 (0.02ms, 3.96MB) |
테스트 22 〉 | 통과 (0.02ms, 3.95MB) |
테스트 23 〉 | 통과 (0.01ms, 3.98MB) |
테스트 24 〉 | 통과 (0.01ms, 3.96MB) |
테스트 25 〉 | 통과 (0.01ms, 3.95MB) |
테스트 26 〉 | 통과 (0.01ms, 3.96MB) |
'🖥️ CS > SW Expert 외의 Algorithms' 카테고리의 다른 글
(프로그래머스 C++) 입국심사 (0) | 2021.03.04 |
---|---|
(프로그래머스 C++) 보석 쇼핑 (0) | 2021.03.02 |
(SW Expert Academy) 1244. [S/W 문제해결 응용] 2일차 - 최대 상금 (0) | 2021.02.04 |
(LeetCode) 146. LRU Cache (0) | 2021.02.02 |
(LeetCode) 11. Container With Most Water (0) | 2021.01.24 |