반응형
코딩테스트 연습 - 신규 아이디 추천
카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로
programmers.co.kr
귀찮지만 단계별로 하나씩 맞춰가면서 풀어간다.
#include <string>
#include <vector>
using namespace std;
string solution(string new_id) {
string answer1 = "";
string answer2 = "";
string answer3 = "";
string finalAnswer = "";
for(int i = 0; i< new_id.length(); i++){
// 1단계
if(new_id[i] >= 'A' && new_id[i] <= 'Z'){
new_id[i] += 32;
}
//2단계
if(new_id[i] == '-' || new_id[i] == '_' || new_id[i] == '.' ||
(new_id[i] >='0' && new_id[i] <='9') || (new_id[i] >='a' && new_id[i] <='z') ) {
answer1 += new_id[i];
}
}
//3단계
answer2 += answer1[0];
for(int i = 1; i < answer1.length(); i++){
if(answer1[i-1] != '.' || (answer1[i-1] =='.' && answer1[i] !='.'))
answer2 += answer1[i];
}
//4단계
if(answer2[0] =='.')
answer2.erase(0, 1);
if(answer2[answer2.length()-1] =='.')
answer2.erase(answer2.length()-1, 1);
//5단계
if(answer2 == "")
answer2 += 'a';
//6단계
if(answer2.length() > 15){
for(int i = 0; i<15; i++){
answer3 += answer2[i];
}
}else{
answer3 = answer2;
}
if(answer3[answer3.length()-1] =='.')
answer3.erase(answer3.length()-1, 1);
//7단계
if(answer3.length() <= 2){
char a = answer3[answer3.length()-1];
while(answer3.length() < 3){
answer3 += a;
}
}
finalAnswer = answer3;
return finalAnswer;
}
https://tech.kakao.com/2021/01/25/2021-kakao-recruitment-round-1/
2021 카카오 신입공채 1차 온라인 코딩 테스트 for Tech developers 문제해설
지난 2020년 9월 12일 토요일 오후 2시부터 7시까지 5시간 동안 2021 카카오 신입 개발자 공채 1차 코딩 테스트가 진행되었습니다. 테스트에는 총 7개의 문제가 출제되었으며, 개발 언어는 C++, Java, Jav
tech.kakao.com
반응형
'IT > 알고리즘' 카테고리의 다른 글
64★★★★] 카카오 블라인드 / 순위 검색 (0) | 2021.09.07 |
---|---|
62★★★] 카카오 블라인드 / 메뉴 리뉴얼 /C++ (0) | 2021.08.28 |
60] 프로그래머스 카펫 (0) | 2020.12.14 |
59★] 프로그래머스 전화번호 목록 (0) | 2020.11.19 |
58] 프로그래머스 주식가격 (0) | 2020.11.16 |
댓글