[ 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)