#include <string>
#include <vector>
#include <iostream>
using namespace std;
 
int solution(int num) 
{
    int answer = 0;
    long long n = num;
    
    while(1)
    {
        if(n == 1)
        {
            break;
        }
        
        if(answer >= 500)
        {
            return -1;
        }
        
        if(n % 2 == 0)
        {
            n /= 2;
        }
        else
        {
            n *= 3;
            n += 1;
        }
        
        answer++;
    }
    
    return answer;
}
cs
#include <string>
#include <vector>
using namespace std;
 
int gcd(int a, int b)
{
    if(b == 0)
    {
        return a;
    }
    else
    {
        return gcd(b, a % b);
    }
}
 
int lcm(int a, int b, int gcdNum)
{
    a /= gcdNum;
    b /= gcdNum;
    
    return gcdNum * a * b;
}
 
vector<int> solution(int n, int m) 
{
    vector<int> answer;
    
    // 최대공약수
    int gcdNum = gcd(n, m);
    
    // 최소공배수
    int lcmNum = lcm(n, m, gcdNum);
    
    answer.push_back(gcdNum);
    answer.push_back(lcmNum);
    
    return answer;
}
cs
#include <string>
#include <vector>
using namespace std;
 
string solution(int num) 
{
    if(num % 2 == 0)
    {
        return "Even";
    }
    else
    {
        return "Odd";
    }
}
cs
#include <string>
#include <vector>
using namespace std;
 
vector<int> solution(vector<int> arr) 
{
    vector<int> answer;
    
    // 제일 작은 수 제거
    int Min = 99999999;
    int minIdx;
    for(int i = 0; i < arr.size(); i++)
    {
        if(Min > arr[i])
        {
            Min = arr[i];
            minIdx = i;
        }
    }
    
    // 제일 작은 수 빼고 삽입
    for(int i = 0; i < arr.size(); i++)
    {
        if(i == minIdx)
        {
            continue;
        }
        
        answer.push_back(arr[i]);
    }
    
    // 빈 배열인 경우
    if(answer.size() == 0)
    {
        answer.push_back(-1);
        return answer;
    }
    else
    {
        return answer;
    }
}
cs
#include <string>
#include <vector>
#include <math.h>
#include <iostream>
using namespace std;
 
long long solution(long long n) 
{
    long long answer;
    long long root = sqrt(n);
    
    // sqrt는 정수형만 반환
    if(root*root == n)
    {
        answer = pow(root+12.0);
    }
    else
    {
        answer = -1;
    }
 
    return answer;
}
cs
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
 
bool cmp(char a, char b)
{
    if(a <= b)
    {
        return false;
    }
    else
    {
        return true;
    }
}
 
long long solution(long long n) 
{
    long long answer = 0;
    
    // long long -> string
    string num = to_string(n);
    
    // 내림차순 정렬
    sort(num.begin(), num.end(), cmp);
    
    // string -> long long
    answer = stoll(num);
    
    return answer;
}
cs
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
 
vector<int> solution(long long n) 
{
    
    vector<int> answer;
 
    // long long -> string
    string num = to_string(n);
 
    // reverse(num.begin(), num.end());
    for(int i = 0; i < num.size()/2; i++)
    {
        char temp = num[i];
        num[i] = num[num.size()-1-i];
        num[num.size()-1-i] = temp;
    }
    
    for(int i = 0; i < num.size(); i++)
    {
        answer.push_back(num[i]-'0');
    }
    
    return answer;
}
 
cs
#include <iostream>
#include <string>
using namespace std;
 
int solution(int n)
{
    int answer = 0;
    string num = to_string(n);
    
    for(int i = 0; i < num.size(); i++)
    {
        answer += num[i]-'0';
    }
 
    return answer;
}
cs

+ Recent posts