코딩테스트 풀이/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;