경남정보고등학교 알고리즘 트레이닝 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 |
---|