코린이의 소소한 공부노트

[LeetCode/Easy] 1189. Maximum Number of Balloons 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 1189. Maximum Number of Balloons

무지맘 2023. 4. 6. 14:46

1. Input

1) String text

 

2. Output

1) text의 나온 문자를 1번씩만 사용해서 "balloon“을 만들 수 있는 최대 횟수

 

3. Constraint

1) 1 <= text.length <= 104

2) text는 영어 소문자로 이루어져 있다.

 

4. Example

Input: text = "nlaebolko" -> Output: 1

Input: text = "loonbalxballpoon" -> Output: 2

Input: text = "leetcode" -> Output: 0

 

5. Code

1) 첫 코드(2023/04/06)

HashMap<Character,Integer> m = new HashMap<>();
m.put('b',0); m.put('a',0); m.put('l',0); m.put('o',0); m.put('n',0);
for(int i=0 ; i<text.length() ; i++){
    char c = text.charAt(i);
    if(m.containsKey(c)) m.put(c, m.get(c)+1);
}
int answer = Integer.MAX_VALUE;
Iterator it = m.entrySet().iterator();
while(it.hasNext()){
    Map.Entry e = (Map.Entry)it.next();
    int i = (int)e.getValue();
    if(i!=0){
        switch((char)e.getKey()){
            case 'b': case 'a' : case 'n':
                answer = Math.min(answer, i); break;
            case 'l': case 'o':
                answer = Math.min(answer, i/2);
        }
    } else{
        answer = 0; break;
    }    
}
return answer;