https://school.programmers.co.kr/learn/courses/30/lessons/132265
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
나의풀이
import java.util.*;
class Solution {
public int solution(int[] topping) {
int answer = 0;
Map<Integer, Integer> s1 = new HashMap<>();
Map<Integer, Integer> s2 = new HashMap<>();
s1.put(topping[0], 1);
for(int i=1; i<topping.length; i++){
s2.put(topping[i], s2.getOrDefault(topping[i], 0)+1);
}
if(s1.size() == s2.size()){
answer++;
}
for(int i=1; i<topping.length-1; i++){
s1.put(topping[i], s1.getOrDefault(topping[i], 0)+1);
if(s2.getOrDefault(topping[i], 0) > 1){
s2.put(topping[i], s2.getOrDefault(topping[i], 0)-1);
}else{
s2.remove(topping[i]);
}
if(s1.size() == s2.size()){
answer++;
}
}
return answer;
}
}
'코테풀이' 카테고리의 다른 글
[프로그래머스] 줄 서는 방법 java 풀이 (LEVEL2) (0) | 2023.05.22 |
---|---|
[프로그래머스] 연속된 부분 수열의 합 java 풀이(LEVEL2) (0) | 2023.05.22 |
[프로그래머스] n^2 배열 자르기 java 풀이(LEVEL2) (0) | 2023.05.20 |
[프로그래머스] 택배상자 java 풀이 (LEVEL2) (0) | 2023.05.20 |
[프로그래머스] 숫자 변환하기 java (LEVEL2) (0) | 2023.05.11 |