문제 설명

양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.

 

제한 조건

  • x는 1 이상, 10000 이하인 정수입니다.

입출력 예

10 true
12 true
11 false
13 false

코드

bool solution(int x) {
    bool answer = false;
    int num = x;
    int dump = 0;
    int sum = 0;
    
    while(num)
    {
        dump = num%10;
        sum += dump;
        num/=10;
    }
    
    if(x%sum == 0)
    {
        answer = true;
    }
    
    return answer;
}


문제 설명

프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.

 

제한 조건

  • s는 길이 4 이상, 20이하인 문자열입니다.

입출력 예

"01033334444" "*******4444"
"027778888" "*****8888"

코드

string solution(string phone_number) 
{
    int size = phone_number.size();
    
    string answer = phone_number;
    
    for(int i =0; i<size-4; i++)
    {
        answer[i] = '*';
    }
    
    return answer;
}


문제 설명

길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.

 

제한 조건

  • n은 길이 10,000이하인 자연수입니다.

입출력 예

3 "수박수"
4 "수박수박"

코드

string solution(int n) {
    string answer = "";
    
    for(int i =0; i<n; i++)
    {
        if(i%2==0)
        {
            answer+="수";
        }
        else
        {
            answer+="박";
        }
    }
    
    return answer;
}


문제 설명

2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT

입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요.

 

제한 조건

  • 2016년은 윤년입니다.
  • 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다)

입출력 예

5 24 "TUE"

코드

string solution(int a, int b) 
{
    int month_day[] = {31,29,31,30,31,30,31,31,30,31,30,31};
    string str_day[] = {"FRI","SAT","SUN","MON","TUE","WED","THU"};
    string answer = "";
    int total_day = 0;

    for (int i = 1; i < a; i++)
    {
        total_day += month_day[i-1];
    }
    total_day += b -1;

    answer = str_day[total_day % 7];

    return answer;
}

+ Recent posts