반응형
난독증이 있는 상수 이야기
풀이
입력은 세자리 문자열 2개가 들어온다
입력된 숫자(사실은 문자열임)의 배치를 반대로 바꾸어준 다음 비교하여 큰 값을 출력해주면 된다
(문자(char)에 저장된 숫자도 int형 숫자처럼 비교가 가능)
입력받은 문자열을 반대로 만든다음 맨 앞자리부터 비교한 다음 큰 수를 출력했다
반대로 만든 문자열의 한자리씩 비교하는 반복문 도중에
큰수가 있으면 출력 후 바로 리턴시켜서 종료했는데
이때 두 수가 같은 경우 반복문 내에서 결론이 나오지 않기때문에 반복문이 끝나고 둘 중 하나를 출력해주고 마무리시켰다
코드
#include <bits/stdc++.h>
using namespace std;
int main() {
string str1,str2;
cin >> str1;
cin >> str2;
//변환할 문자열
string str1_, str2_;
//문자열 반대로 변환
for(int i=2; 0<=i; i--){
str1_ += str1[i];
str2_ += str2[i];
}
//앞자리부터 비교
for(int i=0; i<3; i++){
if(str1_[i] > str2_[i]){
cout << str1_;
return 0;
}else if(str1_[i] < str2_[i]){
cout << str2_;
return 0;
}
}
//반복문이 종료될때까지 큰수가 나타나지 않는다면 둘다 같은 수이므로 둘중에 하나를 출력했음
cout << str1_;
return 0;
}
출처 : https://www.acmicpc.net/problem/2908
반응형
'문제풀기' 카테고리의 다른 글
[백준/BOJ] 심화 1316번 문제, 그룹 단어 체커 C++ 풀이 (0) | 2023.09.26 |
---|---|
[백준/BOJ] 문자열 1152번 문제, 단어의 개수 C++ 풀이 (0) | 2022.10.19 |
[백준/BOJ] 문자열 1157번 문제, 단어 공부 C++ 풀이 (0) | 2022.10.06 |
[백준/BOJ] 문자열 2675번 문제, 문자열 반복 C++ 풀이 (1) | 2022.10.04 |
[ASCII] 아스키코드란, 참고하려고 기록해보는 아스키코드 표 (0) | 2021.12.27 |
[백준/BOJ] 출력 10171/10172번 문제, 개/고양이 C++ 풀이 (0) | 2021.12.13 |