인프런 알고리즘테스트 문제
알고리즘 문제 복습(1~10)
풀스택 개발자
2020. 9. 18. 16:01
6번(문자컨트롤 아마존 인터뷰 문제)
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
int cnt = 0;
int res = 0;
char arr[50];
cin >> arr;
for (int i = 0; i<strlen(arr); i++)
{
if (arr[i] >= 48 && arr[i] <= 57)
{
res = res * 10 + (arr[i] - 48);
}
}
cout << res << endl;
for (int i = 1; i <= res; i++)
{
if (res%i == 0)
{
cnt++;
}
}
cout << cnt;
}
7번
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
char arr[100];
cin.getline(arr, 100, '\n');
for (int i = 0; i < strlen(arr); i++)
{
if (arr[i] >= 65 && arr[i] <= 90)
{
arr[i] = arr[i] + 32;
}
}
for (int i = 0; i < strlen(arr); i++)
{
if (arr[i] >= 97 && arr[i] <= 122)
{
cout << arr[i];
}
}
}
8번
#include<iostream>
#include<string.h>
#include<stack>
using namespace std;
int main()
{
int check = 1;
stack<char> s;
char arr[30];
cin >> arr;
for (int i = 0; i < strlen(arr); i++)
{
if (arr[i] == '(')
{
s.push(arr[i]);
}
else
{
if (s.empty())
{
check = 0;
break;
}
else
{
s.pop();
}
}
}
if (s.empty()&&check == 1)
{
cout << "YES";
}
else if(check==0)
{
cout << "NO";
}
}
스택 사용법 꼭 기억하자.. 그만까먹어라