본문 바로가기
알고리즘/백준 문제 풀이

[BOJ/백준] 2908번 상수 - [c/c++] 풀이

by 미니상미니 2022. 10. 18.
반응형

https://www.acmicpc.net/problem/2908

 

2908번: 상수

상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두

www.acmicpc.net

 

 

 

 


  • 문제


해설

c - 두 수를 문자열 a, b로 입력받은 후 문자열의 뒤부터 비교를 하며 a가 더 크면 flag = true, b가 더 크면 flag = false;
로 준 후 flag = true면 a를 역순으로, flag = false일 경우 b를 역순으로 출력한다.

 

c++ - 두 수를 문자열 a, b로 입력받은 후 문자열의 뒤부터 비교를 하며 a가 더 크면 res = a, b가 더 크면 res = b

로 준 후 res를 역순으로 출력한다.

 

 

코드

c

#include <stdio.h>

int main() {

	char a[3], b[3];
	
	scanf("%s %s", a, b);

	bool flag;

	for (int i = 2; i >= 0; i--) {
		if (a[i] > b[i]) {
			flag = true;
			break;
		}
		else if (a[i] < b[i]) {
			flag = false;
			break;
		}
	}

	for (int i = 2; i >= 0; i--) {
		if (flag) printf("%c", a[i]);
		else printf("%c", b[i]);
	}

	 

	return 0;
}

 

c++

#include <iostream>
#include <string>

using namespace std;

int main() {

	string a, b;
	
	cin >> a >> b;

	string res;

	for (int i = 2; i >= 0; i--) {
		if (a[i] > b[i]) {
			res = a;
			break;
		}
		else if (a[i] < b[i]) {
			res = b;
			break;
		}
	}

	for (int i = 2; i >= 0; i--) {
		cout << res[i];
	}

	 

	return 0;
}

 

 

 

 

 

반응형

댓글