알고리즘
백준 2232
kOsari
2023. 6. 22. 09:18
2232번: 지뢰
일직선상에 N개의 지뢰가 같은 간격으로 매설되어 있다. 각각의 지뢰는 충격 강도 Pi가 있어서, Pi를 초과하는 힘을 가하면 Pi만큼의 힘을 발휘하며 터지게 된다. 어떤 지뢰가 터지게 되면, 그 지
www.acmicpc.net
문제 이해
해당 문제는 앞뒤의 숫자를 비교해 지뢰를 터트리는 문제이다.
해당 문제의 경우 단순히 앞뒤의 숫자를 비교하면 된다.
단 맨 앞과 맨 뒤의 경우 앞뒤의 숫자가 없기 때문에 예외로 체크를 해주면 된다.
풀이
맨앞과 맨 뒤만 체크를 해주고
1개일 경우 그 지뢰만 터트리면 된다.
사이에 있는 것들은 사이에 있는 값들을 비교하면서 중앙에 있는 값이 크다면 해당 지뢰를 터트리면 된다.
import java.util.*;
import java.io.*;
public class test34 {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[] graph = new int[N];
for(int i=0;i<N;i++){
graph[i]=Integer.parseInt(br.readLine());
}
//개수가 1개인 경우
if(graph.length==1)
System.out.println("1");
else{
//맨 앞
if(graph[0]>=graph[1])
System.out.println(1);
//사이에있는 것들
for(int i=1;i<N-1;i++){
if(graph[i]>=graph[i-1] && graph[i]>=graph[i+1])
System.out.println(i+1);
}
//맨 뒤
if(graph[N-1]>=graph[N-2]){
System.out.println(N);
}
}
}
}