문제 1 / 제로 카페의 비결
-목표 : 주문을 처리하기 위해 사용되는 원두의 양을 구하는 프로그램 구현
문제 풀이
큐(Queue)를 이용해여 순차적으로 원두를 사용하고 반복문을 통해 주문처리를 하여 산도를 증가하게 만들었다.
산도가 10을 넘으면 새로운 원두를 사용하고, 주문을 처리할 수 없으면 -1을 반환한다.
최종 코드
import java.util.*;
class Solution {
public int solution(int n_coffee, int[] beans, int[] orders) {
int answer = 0;
Queue<Integer> beanQueue = new LinkedList<>();
for(int bean : beans){
beanQueue.offer(bean);
}
if(beanQueue.isEmpty()) return -1;
int currentAcidity = beanQueue.poll();
int coffeeCount = 0;
for(int order : orders){
if(currentAcidity > 10){
if(beanQueue.isEmpty()){
return -1;
}
currentAcidity = beanQueue.poll();
coffeeCount =0;
}
int beanAmount = currentAcidity * (1+order);
answer += beanAmount;
coffeeCount++;
if(coffeeCount == n_coffee){
currentAcidity *= 2;
coffeeCount =0;
}
}
return answer;
}
}
문제 2 / 3과 7
-목표 : 1부터 N까지의 모든 자연수에 대하여, 자릿값 중 그 값이 3 혹은 7인 것의 개수의 총 합을 계산하는 프로그램 작성
문제 풀이
숫자를 문자열로 변환하여 3과 7을 찾아내고 그 갯수를 answer에 저장하여 계산한다.
최종 코드
import java.util.*;
class Solution {
public int solution(int N) {
int answer = 0;
for(int i=1; i<=N; i++){
String num = Integer.toString(i);
for(char c : num.toCharArray()){
if(c=='3' || c =='7'){
answer++;
}
}
}
return answer;
}
}
문제 3 / 제로 아트 갤러
-목표 :
문제 풀이
풀지 못하였다.
최종 코드
'코딩테스트' 카테고리의 다른 글
알고리즘 문제풀이 3-2 (0) | 2025.03.18 |
---|---|
알고리즘 문제풀이 3-2 (0) | 2025.03.18 |
알고리즘 문제풀이 2-4 (0) | 2025.03.13 |
알고리즘 문제풀이 2-3 (0) | 2025.03.12 |
알고리즘 문제풀이 2-2 (0) | 2025.03.12 |