버전 문자열 비교
2023. 12. 28. 17:14ㆍ정보처리,전산/코딩 : 문제해결
반응형
input1 = '1.0'
input2 = '1.1.99'
array1 = input1.split('.')
array2 = input2.split('.')
for i in range(len(array1)):
if int(array1[i])>int(array2[i]):
print(input1+'>'+input2)
break
elif int(array1[i]) < int(array2[i]):
print(input2+'>'+input1)
break
숫자기호숫자기호 순서로 구분된 버전 비교
.을 기준으로 배열을 저장
그러나 버전이 같을 때 버전 길이가 다를 떄는 비교가 되지않기 때문에
SAMPLE =[['0.1.0', '0.1.1'],
['1.1.4','1.1.3'],
['1.1.2','1.1'],
['1.11.1','1.11.1'],
['10.11.0', '10.10.99'],
['11.111111', '2.0.1']]
for i in SAMPLE:
SplitX = i[0].split(".")
SplitY = i[1].split(".")
if SplitX > SplitY:
print(i[0],'>',i[1])
elif SplitX < SplitY:
print(i[0],'<',i[1])
else:
print(i[0],'==',i[1])
run:
0.1.0 < 0.1.1
1.1.4 > 1.1.3
1.1.2 > 1.1
1.11.1 == 1.11.1
10.11.0 > 10.10.99
11.111111 < 2.0.1
입력을 받을 때
x=input('버전입력')
y=input('비교버전입력')
if x==y:
print(x, '==',y)
else:
splitX=x.split('.')
splitY=y.split('.')
if len(splitX)<len(splitY):
rangelen=len(splitX)
else:
rangelen= len(splitY)
for i in range(rangelen): #짧은 길이 만큼 순회
if splitX[i]>splitY[i]:
print(x,'>',y)
break
elif splitX[i] <splitY[i]:
print(x,'<',y)
break
반응형
'정보처리,전산 > 코딩 : 문제해결' 카테고리의 다른 글
완전수 (0) | 2024.03.12 |
---|---|
java. 상속과 생성자 호출에 관한 문법 (0) | 2024.03.01 |
자연수 N까지 합의 제곱과 제곱의 합의 차이 (0) | 2023.12.31 |
완전수 perfect number (0) | 2023.12.28 |
대칭수 palindromic number (0) | 2023.12.28 |