[LeetCode] Second Largest Digit in a String

아르당·2026년 7월 2일

LeetCode

목록 보기
386/561
post-thumbnail

문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음

Problem

영어 숫자로 된 문자열 s가 주어졌을 때, s에 나타나고 두 번째로 큰 숫자의 값을 반환하거나 그렇지 않다면 -1을 반환해라.

영어 숫자로 된 문자열은 영어 소문자와 숫자로 구성된 문자열이다.

Example

#1
Input: s = "dfa12321afd"
Output: 2
Explanation: 숫자는 [1, 2, 3]이 나타난다. 두 번째로 큰 숫자는 2이다.

#2
Input: s = "abc1111"
Output: -1
Explanation: 숫자는 s에서 나타난 숫자는 [1]이다. 두 번째로 큰 숫자가 없다.

Constraints

  • 1 <= s.length <= 500
  • s는 오직 영어 소문자와 숫자로 구성된다.

Solved

class Solution {
    public int secondHighest(String s) {
        int count = 1;

        for(char c = '9'; c >= '0'; c--){
            if(s.indexOf(c) != -1){
                if(count-- <= 0){
                    return c - '0';
                }
            }
        }

        return -1;
    }
}
profile
내 마음대로 코드 작성하는 세상

0개의 댓글