백준 2908_상수 [C++]
본문 바로가기
Algorithm/Python, C++

백준 2908_상수 [C++]

by liveloper jay 2022. 7. 9.

문제

 

 

풀이

 이 문제는 두개의 수를 입력받아 두 수를 거꾸로 읽어 비교 후 더 큰 수를 출력하면 되는 문제입니다. 이 문제는 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

댓글