728x90
https://www.acmicpc.net/problem/1581
메모리: 14,200 KB , 시간: 124 ms
사용 알고리즘: 많은 조건 분기
728x90
FF가 있다면 무조건 모든 FF를 먼저 넣어주는 것이 좋다.
이후 FS가 있다면 FS를 하나 넣어 느리게 시작하는 음악을 넣어주러 가고, 또 모든 SS를 넣어준다.
이후 SF와 FS를 번갈아가면서 넣어주면 최대한 많은 곡을 넣어줄 수 있다.
이를 if문을 통해 조건 분기만 잘 구현해주면 된다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int FF = Integer.parseInt(st.nextToken());
int FS = Integer.parseInt(st.nextToken());
int SF = Integer.parseInt(st.nextToken());
int SS = Integer.parseInt(st.nextToken());
int result = 0;
// FF가 있다면 먼저 음반에 모두 실는다.
result += FF;
// 느리게 시작하는 곡으로 넘어갈 수 있다면 넘어간다
if(FS != 0) {
// SS부터 모두 음반에 실는다.
result += SS;
// FS와 SF를 반복해서 음반에 실는다.
if(FS > SF) {
result += SF * 2 + 1;
}
else{
result += FS * 2;
}
}
// 빠르게 시작하는 곡이 하나도 없다면
if(FF == 0 && FS == 0) {
// SS부터 모두 음반에 실는다.
result += SS;
// SF가 있다면 하나 실는다.
if(SF != 0) result += 1;
}
System.out.println(result);
}
}
728x90
'Problem Solving > BOJ' 카테고리의 다른 글
[백준, BOJ 20168] 골목 대장 호석 - 기능성 (java) (0) | 2024.07.03 |
---|---|
[백준, BOJ 2022] 사다리 (java) (0) | 2024.06.29 |
[백준, BOJ 17142] 연구소 3 (java) (0) | 2024.06.22 |
[백준, BOJ 18116] 로봇 조립 (java) (0) | 2024.06.19 |
[백준, BOJ 1799] 비숍 (java) (0) | 2024.06.18 |