문제
풀이
이 문제는 두개의 수를 입력받아 두 수를 거꾸로 읽어 비교 후 더 큰 수를 출력하면 되는 문제입니다. 이 문제는 2가지 방법으로 풀이가 가능할 것 같습니다.
1. 입력받을 배열을 2개 생성 + 값을 거꾸로 저장할 새로운 배열 2개 생성 -> 새로운 배열의 값을 int형으로 바꾸어 비교 후 큰 값 출력
2. 세 자리 수이기 때문에 temp 변수를 하나 두어 배열의 0번째 값을 temp에 넣고 2번째 값을 0번째 값으로 , temp는 2번째 값으로 바꾸어 준 후 비교하여 더 큰 값 출력
저는 여기서 첫번째 방법으로 풀이를 진행하였습니다. 입력받을 배열 a와 b, 바뀐값을 넣을 배열 newa와 newb를 생성 후 for문을 이용하여 입력받은 값을 반대로 저장해 주고, atoi를 이용하여 newa와 newb를 정수로 바꾸어주고 비교하여 더 큰 수를 출력하도록 풀이를 진행하였습니다. 소스코드는 아래와 같습니다.
소스코드
#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
int main(){
char a[3], b[3];
cin >> a >> b;
char newa[3], newb[3];
for (int i = 0; i < 3; i++)
{
newa[2-i]=a[i];
newb[2-i]=b[i];
}
if (atoi(newa)>atoi(newb)) cout << newa;
else cout << newb;
}
'Algorithm > Python, C++' 카테고리의 다른 글
백준 2941_크로아티아 알파벳 [C++] (0) | 2022.07.11 |
---|---|
백준 5622_다이얼 [C++] (0) | 2022.07.10 |
백준 1157_단어 공부 [C++] (0) | 2022.07.07 |
백준 2675_문자열 반복 [C++] (0) | 2022.07.05 |
백준 10809_알파벳찾기 [C++] (0) | 2022.07.04 |
댓글