728x90
https://school.programmers.co.kr/learn/courses/30/lessons/132265
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
계속 시간 초과가 나서 찾아본 문제다😢
처음에는 Set을 2개를 선언해서 반복문 돌면서 그 때마다 넣어주고 계산했는데
음 사실 진짜 효율 안좋은거 알긴 했다ㅋㅋㅋㅋㅋㅋ
근데 어어ㅓㅇ어어어ㅓㅇ어엄청 안좋아서 찾아보니까 Map을 사용하면 훨씬 빠르다고 했땅
그래서 Map 하나랑 Set 하나를 선언해서 구현했다!
그렇게 어려운 문제는 아니어서 코드 보면 이해가 될 것이다!
자바 코드)
import java.util.*;
class Solution {
public int solution(int[] topping) {
int answer = 0;
Map<Integer, Integer> a = new HashMap<>();
Set<Integer> set = new HashSet<>();
for(int t : topping) {
if(a.containsKey(t)) {
a.put(t, a.get(t)+1);
} else {
a.put(t, 1);
}
}
for(int t : topping) {
a.put(t, a.get(t)-1);
set.add(t);
if(a.get(t)==0) {
a.remove(t);
}
if(a.size()==set.size()) {
answer++;
}
}
return answer;
}
}
https://codingbutterfly.tistory.com/51
[프로그래머스] 롤케이크 자르기
문제 철수는 롤케이크를 두 조각으로 잘라서 동생과 한 조각씩 나눠 먹으려고 합니다. 이 롤케이크에는 여러가지 토핑들이 일렬로 올려져 있습니다. 철수와 동생은 롤케이크를 공평하게 나눠먹
codingbutterfly.tistory.com
728x90
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[연습 문제] 디펜스 게임 - JAVA (0) | 2022.12.19 |
---|---|
[완전탐색] 모음사전 - JAVA (0) | 2022.12.15 |
[카카오 인턴] 경주로 건설 - JAVA (0) | 2022.11.26 |
[연습 문제] 숫자 카드 나누기 - JAVA (0) | 2022.11.17 |
[연습문제] 혼자 놀기의 달인 - JAVA (0) | 2022.11.02 |
댓글