์ ์ถ๋ ฅ
// ํ ์ค ์
๋ ฅ ๋ฐ๊ธฐ(๋์ด์ฐ๊ธฐ๊น์ง ์
๋ ฅ ๋ฐ๋๋ค.)
getline(cin, string);
// ํ๋ ํ๋ ์
๋ ฅ ๋ฐ๊ธฐ
scanf("%1d", &a[i]);
// while๋ฌธ์ผ๋ก ์
๋ ฅ๋ฐ๊ธฐ
while (scanf("%d", &n) != EOF)
while (cin >> n)
// 0n ์ผ๋ก ์ถ๋ ฅํ๊ณ ์ถ์ ๋
printf("%02d", test);
// ์์์ ์ถ๋ ฅ
printf("%.6lf"); // C
cout << fixed; // C++
cout.precision(6); // 6๋ฒ์งธ ์๋ฆฌ๊น์ง ์ถ๋ ฅ
๋ฌธ์/๋ฌธ์์ด ๋ณํ
// ๋ฌธ์(char)๋ฅผ int ํ์ผ๋ก ๋ณํ(๋ฐ๋๋ ๊ฐ๋ฅ)
int = char – ‘0’;
// C: ๋ฌธ์์ด(char[]) ๋ณํ
atoi("abcd"); // char[] to int
atof("abcd"); // char[] to double
// C++: ๋ฌธ์์ด(string) ๋ณํ
stoi("abcd"); // string to int
stof("abcd"); // string to float
stod("abcd"); // string to double
๋๋ฌธ์์ ์๋ฌธ์ ๋ณํ
// ๋ฌธ์ ๋ณํ
char A = ‘a’ - 32; // a๋ 97๋ฒ
char a = ‘A’ + 32: // A๋ 65๋ฒ
// ๋ฌธ์์ด ๋ณํ - ์๊ณ ๋ฆฌ์ฆ ์ด์ฉ
transform(a.begin(), a.end(), a.begin(), toupper)); // ๋๋ฌธ์
transform(a.begin(), a.end(), a.begin(), tolower)); // ์๋ฌธ์
์ฌ๋ฆผ, ๋ฐ์ฌ๋ฆผ, ๋ด๋ฆผ
ceil() // ์ฌ๋ฆผ
round() // ๋ฐ์ฌ๋ฆผ
floor() // ๋ด๋ฆผ
N์ง๋ฒ ๋ณํ
- 8์ง๋ฒ: 0~7์ ํฌํจํ๊ณ ์์ '0'์ ๋ถ์ธ๋ค.
- 16์ง๋ฒ: 0~9์ A(10)~F(15)๋ฅผ ํฌํจํ๊ณ ์์ '0x'๋ฅผ ๋ถ์ธ๋ค.
// 10์ง์(num)๋ฅผ n์ง์๋ก
string NumtoN(int num, int n)
{
char c[16] = { '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' };
string s;
while (num / n) { // ๋ชซ์ด 0์ด ๋ ๋๊น์ง
s = c[num % n] + s; // ๋๋จธ์ง๋ฅผ ์์ ์ถ๊ฐ
num = num / n;
}
return c[num % n] + s;
}
// n์ด 10 ์ดํ์ผ ๋
string NumtoN(int num, int n)
{
string nums = "";
while (num > 0) {
nums = to_string(num % n) + nums;
num /= n;
}
return nums;
}
์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ฅผ ์ด์ฉํ ์์ ๊ตฌํ๊ธฐ
bool prime[1000001] = { 1,1 };
for (int i = 2; i * i <= end; ++i)
if (!prime[i]) // ์์์ผ ๋
for (int j = i * i; j <= end; j += i)
prime[j] = true;
// ์์ ๊ตฌํ๊ธฐ (ver. ๊ฐ๋จ)
bool IsPrime(long long n)
{
if (n <= 1)
return false;
for (int i = 2; i <= sqrt(n); i++)
if (n % i == 0)
return false;
return true;
}
์ ํด๋ฆฌ๋ ํธ์ ๋ฒ์ ์ด์ฉํ ์ต๋๊ณต์ฝ์(gcd) ๊ตฌํ๊ธฐ
// ๊ฐ๋จํ ๋ฒ์
int gcd(int a, int b) {
return b == 0 ? a : gcd(b, a % b);
}
// ํ ๋ฒ์
int gcd(int a, int b) {
while (true) {
if (a % b == 0)
break;
a = b;
b = a % b;
}
return b;
}
// ์ต์๊ณต๋ฐฐ์: (a * b) / gcd(a, b)
unique() ํจ์๋ฅผ ์ด์ฉํ vector์์ ์ค๋ณต ๊ฐ ์ญ์ ํ๊ธฐ
sort(v.begin(), v.end()); // ์ ๋ ฌ ํ unique() ํจ์ ์ ์ฉ
v.erase(unique(v.begin(),v.end()),v.end());
์ด์ค ์ ๋ ฌ
// X์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์ผ๋ก X์ขํ๊ฐ ๊ฐ์ผ๋ฉด Y ์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์๋ก ์ ๋ ฌ
sort(arr, arr + n, [](Point& a, Point& b) {
if (a.first == b.first)
return a.second < b.second;
return a.first < b.first;
});
๊ฑฐ๋ฆฌ ๊ตฌํ ๋
sqrt(pow(a.first - b.first, 2.0) + pow(a.second - b.second, 2.0));
ํ๋ ฌ์ ๊ณฑ
// N*M ํฌ๊ธฐ์ ํ๋ ฌ A์ M*K ํฌ๊ธฐ์ ํ๋ ฌ B๊ฐ ์ฃผ์ด์ก์ ๋, ๋ ํ๋ ฌ์ ๊ณฑ์?
for (int i = 0; i < n; i++)
for (int j = 0; j < k; j++)
for (int k = 0; k < m; k++)
result[i][j] += (arr[i][k] * arr2[k][j]);
๋ ์ ์ฌ์ด์ ๊ต์
if (x == x2) {
if (r1 == r2)
cout << "-1\n";
else
cout << "0\n";
continue;
}
dist = sprt(pow(x1 - x2, 2) + pow(y1 - y2, 2));
if (r1 + r2 < dist || dist + r1 < r2 || dist + r2 < r1)
cout << "0\n";
else if (r1 + r2 == dist || dist + r1 == r2 || dist + r2 == r1)
cout << "1\n";
else
cout << "2\n";