반응형
안녕하세요. BlockDMask 입니다.
이번 문제는 170809 일자 채우기 문제입니다.
0. 제목
백준 2908 상수
BOJ 2908 상수
1. 문제 설명
자릿수가 세 자리인 숫자가 입력으로 들어온다.
두 수를 거꾸로 읽었을때
큰 수를 출력하면 된다.
두수는 같지 않은 세 자리 수이며, 0 이 포함 되어 있지 않다.
2. 풀이 과정
자릿수에 관한 문제이므로
1의 자리는 10으로 나누었을때 나머지
10의 자리는 100으로 나누었을때 나머지
100의 자리는 1000으로 나누었을 때 나머지 이다.
이것을 이용하여
똑바로된 수의 1의 자리를
변경될 수의 100의 자리로.
옮기는 방식으로 하면된다.
똑바로 된 수를 10으로 나누어서 두자리 수로 줄이고
그것의 1의 자리를
변경될 수의 10의 자리로.
두자리 수인 똑바로 된 수를 10으로 또 나누어 한 자리 수로 만들고
그것의 1의 자리를
변경될 수의 1의 자리로.
3. 코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #include<iostream> #include<cmath> using namespace std; int main(void){ int a; int b; cin >> a; cin >> b; int ra=0; int rb=0; //숫자가 거꾸로 들어감 //원래 숫자의 1의 자리를 바뀔 숫자에 자리수에 맞게 곱해서 더해준다 for(int i=0; i<3; i++){ ra += (a%10) * pow(10, 2-i); rb += (b%10) * pow(10, 2-i); a /= 10; b /= 10; } cout << max(ra,rb) << endl; return 0; } | cs |
4. 인증
문제 출처 - https://www.acmicpc.net/problem/2908
감사합니다. 도움이 되셨으면 하트 한번 부탁드립니다.
반응형
'<알고리즘 문제풀이&연습> > [C++] 백준, 프로그래머스 등등' 카테고리의 다른 글
[백준 1316] 그룹 단어 체커 (4) | 2017.09.21 |
---|---|
[백준 9012] 괄호 (stack) (0) | 2017.09.20 |
[백준 1016] 제곱ㄴㄴ수 (0) | 2017.09.19 |
[백준 11005] 진법 변환 2 (0) | 2017.09.19 |
[백준 2675] 문자열 반복 (0) | 2017.09.17 |
[Level 4] 숫자의 표현 (0) | 2017.09.15 |
[Level 3] 멀리 뛰기 (jumpCase) (0) | 2017.09.14 |
[Level 3] 시저 암호 (caesar) (0) | 2017.09.14 |