본문으로 바로가기

JadenCase 문자열 만들기 ] : < LV2 / 7220명 >

더보기
#include <string>
#include <vector>

using namespace std;

string solution(string s)
{
    string answer = "";
    bool flag = true;
    //
    for(char& c : s)
    {
        // 공백문자 패스
        if(c == ' ')
        {
            flag = true;
            continue;
        }
        // 공백 이후 첫번째 문자
        if(flag == true)
        {
            flag = false;
            c = toupper(c); 
        }
        else
            c = tolower(c); 
    }
    //
    answer = s;
    return answer;
}

# 시행착오 : sstream 사용해서 단어 단위로 분리해서 첫글자 변환

              (주어진 문장에 공백이 2개 이상 있는 경우가 존재!)

# 해결 : 한글자씩 조건 검사

 


N개의 최소공배수 ] : < LV2 / 7722명 >

더보기
#include <string>
#include <vector>

using namespace std;

int GCD(int a, int b)
{ // 유클리드 호제법
    if(b == 0)
        return a;
    else 
        return GCD(b, a % b);
    //
    return -1;
}

int LCM(int a, int b)
{
    int result = (a * b) / GCD(a, b);
    //
    return result;
}

int solution(vector<int> arr)
{
    int answer = arr[0];
    //
    for(int i : arr)
        answer = LCM(i, answer);
    //
    return answer;
}

# 유클리드 호제법을 사용한 gcd(최대공약수) 계산 (mod연산 특성에 의해 매개변수 대소비교 불필요)

# lcm = a * b * gcd(a, b)