Free Lines Arrow
본문 바로가기
Algorithm/번외

[Algorithm] version max 값 찾기

by skahn1215 2023. 1. 23.
728x90
반응형

버전 정보가 있을때 맥스값을 찾아보자

어렵게 풀기

	public void findMaxVersion() {
		String[] version = {"1.2.3", "2.2", "2.8", "2.7.1", "1.23.1"};

		int minLength = 0;
		int maxIndex = 0;
		String maxVersion = version[0];

		for (int i = 1; i < version.length; i++) {
			int maxLength = Math.max(version[i].length(), maxVersion.length());

			String[] splitedMaxVersion = maxVersion.split("\\.");
			String[] splitedVersion = version[i].split("\\.");

			boolean isCurrentMaxVersion = true;
			for(int j = 0; j < maxLength; j++) {
				int maxVersionSubNumber = j < splitedMaxVersion.length ? Integer.parseInt(splitedMaxVersion[j]) : 0;
				int versionSunNumber =  j  < splitedVersion.length ? Integer.parseInt(splitedVersion[j]) : 0;
				if (maxVersionSubNumber > versionSunNumber) {
					isCurrentMaxVersion = true;
					break;
				}
				if (maxVersionSubNumber < versionSunNumber) {
					isCurrentMaxVersion = false;
					break;
				}
			}

			if (!isCurrentMaxVersion) {
				maxVersion = version[i];
			}
		}

		System.out.println(maxVersion);
	}

 

 

// 쉽게 풀기

        String[] version = {"0.91","1.999999","1.2.3", "2.2", "3", "2.8", "2.7.1", "1.23.1","3.1.0","3.1.1","31"};
        Arrays.sort(version);

 

728x90
반응형

'Algorithm > 번외' 카테고리의 다른 글

[Algorithm] 뿌요뿌요(퍼즐게임)  (0) 2021.10.19
[Algorithm] 벌집 만들기  (0) 2021.10.05

댓글