백준 - C, C++/07. 문자열
[C언어] 백준 2908번 : 상수
ImJay
2020. 10. 21. 00:01
반응형
백준 2908번 : 상수
- 사용언어 : C언어
1. 문제
상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다.
상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다.
두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오.
2. 코드
#include <stdio.h>
int main(void) {
int n1, n2;
scanf("%d %d", &n1, &n2);
n1 = n1/100 + ((n1/10)%10)*10 + ((n1%100)%10)*100;
n2 = n2/100 + ((n2/10)%10)*10 + ((n2%100)%10)*100;
if(n1 < n2) printf("%d", n2);
else printf("%d", n1);
}
3. 풀이
음.. 문자열 문제라고 보기 좀 어려운 듯 하다.
굳이 문자열로 받아 풀라면 풀 수 있지만, 정수로 받는게 훨씬 간단하기 때문에 풀었다.
딱히 설명할 부분이 없으며 수식만 차근히 읽어보면 이해할 수 있을 듯 싶다.
왜 문자열 문제인지 다른 코드들을 살펴봤는데,
파이썬은 reverse 라는 명령어 하나 쓰니 문자열 순서가 거꾸로 뒤집어짐.
ㅡㅡ C언어가 간단한데 이런 부분은 ..
반응형