두 개의 버전을 받아서 좌우비교를 하는 문제. leading zero 가 있고 세 자리가 아닌 점을 보아 semver 스타일은 아니다. 간단하게 비교 함수를 만들어서 통과. 최적화 할 부분이 많이 보이지만 오늘은 일정이 급해 우선 통과에 의의를 두기로.
function compareVersion(version1: string, version2: string): number {
const version1List = version1.split('.').map(s => Number(s))
const version2List = version2.split('.').map(s => Number(s))
const maxLength = Math.max(version1List.length, version2List.length)
for (let i = 0; i < maxLength; i++) {
const value1 = version1List[i] ?? 0
const value2 = version2List[i] ?? 0
console.log(value1, value2)
if (value1 > value2) {
return 1
} else if (value1 < value2) {
return -1
}
}
return 0
};