#include <iostream>
using namespace std;
int main()
{
// Input
char str[6] = { 'G', 'K', 'G' };
for (int i = 3; i < 6; ++i)
{
cin >> str[i];
}
// Solve
char dat[256] = { 0 };
for (const char& d : str)
{
++(dat[d]);
if (dat[d] == 3)
{
cout << "있음";
return 0 ;
}
}
cout << "없음";
return 0;
}
int main()
{
// Input
int arr[6] = { 0 };
for (int i = 0; i < 6; ++i)
{
cin >> arr[i];
}
// Solve
char dat[10] = { 0 };
for (int& d : arr)
{
++(dat[d]);
if (2 <= dat[d])
{
cout << "도플갱어 발견";
return 0;
}
}
cout << "미발견";
return 0;
}
int main()
{
// Input
char str[11] = { 0 };
cin >> str;
char dat[256] = { 0 };
// Solve
int max = -1;
int idx = -1;
for (int i = 0; i < 11; ++i)
{
++(dat[str[i]]);
if (max < dat[str[i]])
{
max = dat[str[i]];
idx = i;
}
}
// Print
cout << str[idx];
return 0;
}
int main()
{
char total[5] = { 0 };
int cnt = 0;
for (int i = 0; i < 2; ++i)
{
for (int j = 0; j < 5; ++j)
{
int t; cin >> t;
total[j] += t;
if (total[j] == 2)
{
++cnt;
}
}
}
cout << cnt << "개";
return 0;
}
int main()
{
// Input
char str[] = { "ATKPTCABC" };
int size = sizeof(str) / sizeof(char);
char f, b;
cin >> f >> b;
int iF = -1, iB = -1;
// Solve
for (int i = 0; i < size; ++i)
{
if (iF == -1)
{
if (f == str[i])
{
iF = i;
}
}
if (iB == -1)
{
if (b == str[size - i])
{
iB = size - i;
}
}
}
// Output
cout << iB - iF;
return 0;
}
int main()
{
// Input
int win[2][3] = { 3,5,1,4,2,6 };
int size = sizeof(win) / sizeof(int*);
int people[4] = { 0 };
for (auto& d : people)
{
cin >> d;
}
// Solve
int dat[10] = { 0 };
for (int i = 0; i < size; ++i)
{
++(dat[*((*win) + i)]);
}
for (int& d : people)
{
cout << d << "번 ";
if (1 <= dat[d])
{
cout << "합격\n\n";
}
else
{
cout << "불합격\n\n";
}
}
// Output
return 0;
}
int main()
{
// Input
char vect[] = "CODING";
char dat[256] = { 0 };
for (char& d : vect)
{
++(dat[d]);
}
// Solve & Output
int n; cin >> n;
for (int i = 0; i < n; ++i)
{
char c; cin >> c;
if (1 <= dat[c])
{
cout << "O";
}
else
{
cout << "X";
}
}
return 0;
}
#include <iostream>
using namespace std;
struct Pair
{
Pair() = default;
char str[100] = { 0 };
int size = 0;
};
int StrLen(const char* str)
{
int i = 1;
while(str[i] != '\0')
{
++i;
}
return i;
}
int main()
{
// Input
char dat[3][256] = { 0 };
Pair p[3];
for (int i = 0; i < 3; ++i)
{
cin >> p[i].str;
p[i].size = StrLen(p[i].str);
for (int i = 0; i < p[i].size; ++i)
{
++(dat[i][p[i].str[i]]);
}
}
// Solve
for (int i = 0; i < 256; ++i)
{
int cnt = 0;
if (0 < dat[0][i]) ++cnt;
if (0 < dat[1][i]) ++cnt;
if (0 < dat[2][i]) ++cnt;
if (2 <= cnt)
{
cout << "No";
return 0;
}
}
cout << "Perfect";
return 0;
}
int main()
{
// Input
char str[100] = { 0 };
cin >> str;
char dat[256] = { 0 };
for (int i = 0; str[i] != '\0'; ++i)
{
++(dat[str[i]]);
}
// Output
for (int i = 0; i < 256; ++i)
{
if (0 < dat[i])
{
cout << (char)i;
}
}
return 0;
}
int main()
{
// Input
char str[100] = { 0 };
cin >> str;
char dat[256] = { 0 };
for (int i = 0; str[i] != '\0'; ++i)
{
++(dat[str[i]]);
}
// Output
for (int i = 0; i < 256; ++i)
{
if (0 < dat[i])
{
cout << (char)i << ":" << (int)dat[i] << endl;
}
}
return 0;
}
bool Find(const char* data, const char* token)
{
for (int i = 0; token[i] != '\0'; ++i)
{
if (data[i] != token[i]) return false;
}
return true;
}
int main()
{
// Input
char token[] = { "GHOST" };
char data[100] = { 0 };
cin >> data;
// Solve & Output
for (int i = 0; data[i] != '\0'; ++i)
{
if (Find(data + i, token) == true)
{
cout << "존재";
return 0;
}
}
cout << "존재하지 않음";
return 0;
}
class Time
{
public:
Time() = delete;
Time(int hour, int minute, int second)
:mHour(hour), mMinute(minute), mSecond(second)
{ };
~Time() = default;
Time(const Time&) = default;
public:
void Print()
{
cout << mHour << " : " << mMinute << " : " << mSecond << endl;
}
Time operator+(Time& ref)
{
int t = 0;
int sec = GetSceond() + ref.GetSceond();
t = sec / 60;
sec %= 60;
int min = GetMinute() + ref.GetMinute() + t;
t = min / 60;
min %= 60;
int hour = GetHour() + ref.GetHour() + t;
hour %= 24;
return Time(hour, min, sec);
}
public:
int GetHour() { return mHour; }
int GetMinute() { return mMinute; }
int GetSceond() { return mSecond; }
private:
int mHour = 0;
int mMinute = 0;
int mSecond = 0;
};
int main()
{
// Input
Time time1(4, 50, 40);
Time time2(3, 40, 30);
Time time3 = time1 + time2;
time1.Print();
time2.Print();
time3.Print();
return 0;
}
'코딩 테스트 > 알고리즘 풀이' 카테고리의 다른 글
[LV4] 복습 문제 (1) | 2025.04.21 |
---|---|
[LV4] 연습 문제 (0) | 2025.04.19 |
[LV3] 연습 문제 (0) | 2025.04.14 |
[LV1] 복습 문제 (0) | 2025.04.13 |
[LV1] 연습 문제 (0) | 2025.04.12 |