본문 바로가기
OLD_알고리즘/Programmers - 알고리즘

Programmers ] Level 1 - 핸드폰 번호 가리기

by 달승 2021. 1. 4.

 

 

#include <string>
#include <vector>

using namespace std;

string solution(string phone_number) {
    string answer = "";
    string temp = "";
    vector <string> nTemp;
    int phoneN_size = 0;
    
    /* 가려야 하는 번호 size(0부터 count)
    010 0000 0000 >> 6개/10개
    02 000 0000 >> 4개/8개
    042 000 0000 >> 5개/9개
    */
    
    nTemp.push_back(phone_number);
    //nTemp = phone_number;
    phoneN_size = nTemp.size();
    
    for(int i = 0; i < nTemp.size(); i++){
        
        if(phoneN_size < 5){
            answer.append(nTemp[i]);
            //answer += nTemp[i];
        }else {
            answer.append("*");
            //answer += "*";
        }
        phoneN_size--;
    }
        /*
        if(phoneN_size == 11){
            if(i < 7){
                //resTemp.push_back("*");
                //answer[i] = "*";
                answer.append("*");
            }else{
                //resTemp.push_back(nTemp[i]);
                //answer[i] = resTemp[i];
                answer.append(nTemp[i]);
            }
        }else if(phoneN_size == 9){
            if(i < 4){
                //resTemp.push_back("*");
                //answer = "*";
                answer.append("*");
            }else{
                //resTemp.push_back(nTemp[i]);
                //answer[i] = resTemp[i];
                answer.append(nTemp[i]);
            }
        }else{
            if(i < 5){
                answer.append("*");
            }else{
                answer.append(nTemp[i]);
            }
        }
    }*/
    //answer = resTemp;
    
    
    return answer;
}

 

 

 

🌱 정답코드 

# append() 또는 '+'
- 문자열 연결- append()의 경우 인자로 'c' 같이 char 형을 사용할 수 없다.
  "c" 는 가능함. 'c'를 더해주고 싶은 경우 + 연산을 이용하자.

 

 

틀린 코드 1

#include <string>
#include <vector>

using namespace std;

string solution(string phone_number) {
    string answer = "";
    string temp = "";
    vector <string> nTemp;
    int phoneN_size = 0;
    
    /* 가려야 하는 번호 size(0부터 count)
    010 0000 0000 >> 6개/10개
    02 000 0000 >> 4개/8개
    042 000 0000 >> 5개/9개
    */
    
    nTemp.push_back(phone_number);
    //nTemp = phone_number;
    phoneN_size = nTemp.size();
    
    for(int i = 0; i < nTemp.size(); i++){
        
        if(phoneN_size < 5){
            answer.append(nTemp[i]);
            //answer += nTemp[i];
        }else {
            answer.append("*");
            //answer += "*";
        }
        phoneN_size--;
    }
        /*
        if(phoneN_size == 11){
            if(i < 7){
                //resTemp.push_back("*");
                //answer[i] = "*";
                answer.append("*");
            }else{
                //resTemp.push_back(nTemp[i]);
                //answer[i] = resTemp[i];
                answer.append(nTemp[i]);
            }
        }else if(phoneN_size == 9){
            if(i < 4){
                //resTemp.push_back("*");
                //answer = "*";
                answer.append("*");
            }else{
                //resTemp.push_back(nTemp[i]);
                //answer[i] = resTemp[i];
                answer.append(nTemp[i]);
            }
        }else{
            if(i < 5){
                answer.append("*");
            }else{
                answer.append(nTemp[i]);
            }
        }
    }*/
    //answer = resTemp;
    
    
    return answer;
}

 

틀린 코드 2

 

 

댓글