경남정보고등학교 알고리즘 트레이닝 1011~1020
1011>
#include <iostream>
using namespace std;
int main()
{
int a;
cin >> a;
cout.setf(ios::uppercase);
cout << oct << a << " " << hex << a;
return 0;
}
setf를 통해 대문자로 출력하도록 플래그를 설정한 뒤에, 8진수(oct), 16진수(hex)를 차례대로 출력합니다.
1012>
#include <iostream>
using namespace std;
int main()
{
char a;
cin >> a;
cout << a;
return 0;
}
문자를 입력받고 그 문자를 그대로 출력합니다. 설명이 필요없는 문제.
1013>
#include <iostream>
#include <string>
using namespace std;
int main()
{
string a;
cin >> a;
cout << a;
return 0;
}
문자열을 입력받기 위해 string를 포함시킵니다. string을 포함시키는 것만으로도 연산자 오버로딩에 관한 문제를 해결할 수 있습니다.
1014>
#include <iostream>
using namespace std;
int main()
{
int day;
cin >> day;
cout << day * 24;
return 0;
}
사용자로부터 일(day)의 값을 입력받아, 시간으로 변환합니다. 하루는 24시간에 해당하므로, 그대로 24를 곱하면 됩니다.
1015>
#include <iostream>
using namespace std;
int main()
{
float a, b, c;
cin >> a >> b >> c;
cout.precision(2);
cout << fixed << (a + b + c)/3;
return 0;
}
2자리로 고정시키고, fixed를 통해 소수 둘째자리까지 표현하게 합니다. 그리고 평균은 총점을 갯수로 나누면 됩니다.
1016>
#include <iostream>
using namespace std;
int main()
{
float a;
cin >> a;
cout.precision(3);
cout << fixed << 1.8 * a + 32;
return 0;
}
3자리로 고정시키고, fixed를 통해 소수 셋째자리까지 표현하게 합니다. 그리고 섭씨 온도를 화씨 온도로 변환시키는 공식은 9 / 5 * 섭씨온도 + 32이며, 9 / 5는 1.8이므로 1.8 * 섭씨온도 + 32를 쓰셔도 무관합니다.
1017>
#include <iostream>
using namespace std;
int main()
{
int second;
cin >> second;
cout << second / 60 << " " << second % 60;
return 0;
}
초(second)를 입력받으면, 초를 60으로 나눈 값이 분이 되고, 나머지는 초가 됩니다.
1018>
#include <iostream>
using namespace std;
int main()
{
int a, b, max;
cin >> a >> b;
max = (a > b) ? a : b;
cout << max;
return 0;
}
삼항 조건 연산자를 이용하여 크기를 비교합니다. a와 b의 크기를 비교해 a가 크면 a가, b가 크면 b가 max에 대입됩니다.
1019>
#include <iostream>
using namespace std;
int main()
{
int a, b, c, min;
cin >> a >> b >> c;
min = (a > b) ? (b > c ? c : b) : (a > c ? c : a);
cout << min;
return 0;
}
이문제 역시도, 삼항 조건 연산자를 사용했습니다. a와 b를 비교하고, a가 클 경우에 a는 가장 작은 수가 아니기 때문에, b와 c를 비교하고 b가 크면 c를, c가 크면 b를 내보냅니다. 반대로 b가 클 경우에 b는 가장 작은 수가 아니기 때문에, a와 c를 비교하고 a가 크면 c를, c가 크면 a를 내보냅니다.
1020>
#include <iostream>
using namespace std;
int main()
{
int a;
cin >> a;
if (a < 10) cout << "small";
return 0;
}
if문을 통해, a가 10 미만일 경우 small를 출력하게 합니다.
'기타 > 문제 풀이' 카테고리의 다른 글
| 경남정보고등학교 알고리즘 트레이닝 1001~1010 (0) | 2012.12.08 |
|---|