Leetcode Java Largest 3-Same-Digit Number in String
업데이트:
문제
코드
class Solution {
public String largestGoodInteger(String num) {
int result = -1;
for (int i = 2; i < num.length(); i++) {
if (num.charAt(i - 2) == num.charAt(i) && num.charAt(i - 1) == num.charAt(i)) {
result = Math.max(result, num.charAt(i) - '0');
}
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 3; i++) {
sb.append((char) (48 + result));
}
return result == -1 ? "" : sb.toString();
}
}
결과
설명
- num내 3개의 연속된 숫자가 동일한 값들 중 가장 큰 값을 찾는 문제이다.
- 조건에 맞는 값이 없는 경우, ““를 주어진 문제의 결과로 반환한다.
- 문제 풀이에 필요한 변수를 정의한다.
- result는 num내 3개의 연속된 숫자가 동일한 값들 중 큰 값을 넣을 변수로, nums를 반복하여 세 값이 동일한 문자열의 가장 큰 숫자의 위치를 넣어준다.
- sb는 동적으로 문자를 만들 변수로, StringBuilder로 초기화한다.
-
0부터 3 미만까지 i를 증가시키며 sb에 해당 숫자를 문자로 변환하여 이어준다.
- result가 -1인 경우 ““을, 값이 존재하는 경우 sb를 문자열로 변환하여 주어진 문제의 결과로 반환한다.
소스
Sample Code는 여기에서 확인 가능합니다.
댓글남기기