-
[프로그래머스] 롤케이크 자르기 - Java공부/프로그래머스 2024. 8. 5. 22:33728x90
https://school.programmers.co.kr/learn/courses/30/lessons/132265
프로그래머스 롤케이크 자르기 자바 풀이
난이도: Lv2
풀이
롤케이크 첫 조각을 기준으로 토핑을 나눈 후,
두번째 조각에 토핑을 전부 추가한다.
HashSet, HashMap을 이용하여 중복되는 케이크 토핑 종류가 없게 한다.
두번째 조각에서 첫번째 조각으로 하나씩 옮겨 사이즈를 비교한다.
코드
import java.util.HashMap; import java.util.HashSet; class Solution { public int solution(int[] topping) { int answer = 0; int size = topping.length; HashSet<Integer> first = new HashSet<>(); HashMap<Integer, Integer> second = new HashMap<>(); first.add(topping[0]); for(int i=1;i<size;i++){ second.put(topping[i],second.getOrDefault(topping[i], 0)+1); } for(int i=1;i<size;i++){ first.add(topping[i]); second.put(topping[i], second.get(topping[i])-1); if(second.get(topping[i])==0){ second.remove(topping[i]); } if(first.size()==second.size()){ answer++; } } return answer; } }
728x90반응형'공부 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 주식가격 - Java (0) 2024.08.07 [프로그래머스] 뒤에 있는 큰 수 찾기 - Java (0) 2024.08.06 [프로그래머스] 모음사전 - Java (0) 2024.08.01 [프로그래머스] [3차] 압축 - Java (0) 2024.07.31 [프로그래머스] k진수에서 소수 개수 구하기 - Java (0) 2024.07.30