BOJ | 2908번
Python 풀이
s = input().split() #두 숫자 입력
s0 = int(s[0][::-1]) #첫번째 숫자 뒤집어서 정수형 변수로 저장
s1 = int(s[1][::-1]) #두번째 숫자 뒤집어서 정수형 변수로 저장
print(s0 if s0 > s1 else s1) #삼항연산으로 출력
s = input().split() #두 숫자 입력
s0 = int(s[0][::-1]) #첫번째 숫자 뒤집어서 정수형 변수로 저장
s1 = int(s[1][::-1]) #두번째 숫자 뒤집어서 정수형 변수로 저장
print(s0 if s0 > s1 else s1) #삼항연산으로 출력
split()
을 해주면 ( )안의 매개체를 기준으로 문자열을 나눠서 리스트로 저장하기 때문에 s는 리스트로 저장이 된다. 문제에서 입력이 2개이므로 s0와 s1 변수로 각 숫자를 int형 변수로 변환하여 저장할 건데, 문자열 인덱싱을 해줄 수 있다. s[0][::-1]
로 표현한 것은 리스트 s에서 0번째 인덱스의 문자열을 거꾸로 표현한다는 뜻이다. 인덱싱 관련해서는 나의 벨로그 파이썬 기초
시리즈에서 확인할 수 있다.
아무튼, 문자열을 거꾸로 출력하는 방법은 여러가지가 있겠지만 이게 제일 편해서 인덱싱을 사용하였다.
마지막 출력해 주는 부분에서는 삼항연산자를 이용하여 출력하였다.
s0를 출력할 건데, s0가 s1보다 클 경우 s0를 출력하라는 뜻이다. 뒤에 else s1
은 s0가 s1보다 크지 않을 경우 s1을 출력하라는 뜻이다.
print(max(s0,s1))
과 같은 의미이다.
C++ 풀이
#include <string>
#include <iostream>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
string S1,S2;
cin >> S1 >> S2;
char tmp;
tmp = S1[0];
S1[0] = S1[2];
S1[2] = tmp;
tmp = S2[0];
S2[0] = S2[2];
S2[2] = tmp;
S1 > S2 ? cout << S1 : cout << S2;
}
#include <string>
#include <iostream>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
string S1,S2;
cin >> S1 >> S2;
char tmp;
tmp = S1[0];
S1[0] = S1[2];
S1[2] = tmp;
tmp = S2[0];
S2[0] = S2[2];
S2[2] = tmp;
S1 > S2 ? cout << S1 : cout << S2;
}
세자리 자연수니까 100의 자리수와 1의 자리수만 바꾸면 된다.
Author And Source
이 문제에 관하여(BOJ | 2908번), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hrpp1300/BOJ-2908번저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)