알고리즘/백준 알고리즘

2908 - 상수

TIM_0529 2022. 12. 28. 10:38
반응형
#include <iostream>
#include <cmath>
using namespace std;



int main()
{
	char firstnum[3];
	char secondnum[3];
	int changed_num_first=0,changed_num_second=0;
	for (int i = 0; i < 3; i++)
	{
		cin >> firstnum[2 - i];
		changed_num_first += (firstnum[2 - i] - '0') * pow(10,i);

	}
	for (int i = 0; i < 3; i++)
	{
		cin >> secondnum[2 - i];
		changed_num_second += (secondnum[2 - i] - '0') * pow(10, i);
	}

	if (changed_num_first > changed_num_second)
		cout << changed_num_first;
	else
		cout << changed_num_second;
}

C++ 로 작성하여 2208에 메모리를 사용한다.

데이터를 받을때 정수로 자료형을 지정해서 받았다면 '0' 을 빼주지 않아도 됐는데 왜 char 로 받았었는지 이해가 안된다. 

 

 

다른 사람들의 코드를 보겠다.

#include <stdio.h>
#include <string.h>

int main(){
	int a,b;
	scanf("%d %d",&a,&b);
	a=a/100+(a/10)%10*10+a%10*100;
	b=b/100+(b/10)%10*10+b%10*100;
	printf("%d",a>b?a:b);
}

나머지 와 나눗셈 연산을 통해서 값을 나눠서 저장했다. 

포문없이 상수시간으로 깔끄하게 끝내는 가장 좋은 방법인것 같다.

반응형

'알고리즘 > 백준 알고리즘' 카테고리의 다른 글

[백준] 5622 - 다이얼  (0) 2022.12.29
[백준] 5622 - 다이얼  (0) 2022.12.28
1157-단어공부 c++  (0) 2022.12.26
2675-문자열 반복  (0) 2022.12.25
10809-알파벳 찾기  (2) 2022.12.24