이 영역을 누르면 첫 페이지로 이동
쿄코코 블로그의 첫 페이지로 이동

쿄코코

페이지 맨 위로 올라가기

쿄코코

얼레벌레 생활🤯

백준 2232(지뢰) - 구현

  • 2022.05.25 15:34
  • [백준] Python,Java로 풀기📖/구현
    반응형
     

    2232번: 지뢰

    일직선상에 N개의 지뢰가 같은 간격으로 매설되어 있다. 각각의 지뢰는 충격 강도 Pi가 있어서, Pi를 초과하는 힘을 가하면 Pi만큼의 힘을 발휘하며 터지게 된다. 어떤 지뢰가 터지게 되면, 그 지

    www.acmicpc.net

    풀이 방법

    ⓘ 하나씩 입력 받아서 graph 리스트 안에 입력 받기

    ② for문을 돌려서 리스트[graph[i]]의 값이 현재 리스트 바로 앞의 값(graph[i-1])보다 크거나 같고 현재 리스트 바로 뒤의 값[graph[i+1])보다 작거나 같으면 출력된다고 보면 된다. ( graph[i] >= graph[i-1] && graph[i]>=graph[i+1] ) 

    ③ 예외의 경우
       1) 리스트의 개수가 1인 경우 앞과 뒤가 없으므로 자기 자신이 무조건 출력 된다.

       2) 리스트 맨 앞의 경우(graph[0]) ( 바로 앞 숫자가 없으므로 뒤 숫자만 비교 하면된다 ) 

       3) 리스트 맨 뒤의 경우(graph[n-1]) (바로 뒤 숫자가 없으므로 앞 숫자만 비교 하면 된다.)

     

    1) PYTHON( 파이썬인 경우 )

    import sys
    n = int(sys.stdin.readline())
    #리스트 입력받기
    graph = [int(sys.stdin.readline()) for _ in range(n)]
    for i in range(n):
    	#리스트 개수가 1개보다 큰 경우
        if len(graph)>1:
       		#맨 앞인 경우
            if i==0:
                if graph[i]>=graph[i+1]:
                    print(i+1)
                continue
            #맨 뒤의 경우
            if i==n-1:
                if graph[i-1]<=graph[i]:
                    print(i+1)
                continue
            #가운데
            if graph[i-1]<=graph[i] and graph[i]>=graph[i+1]:
                print(i+1)
        #리스트의 개수가 1개인 경우
        else:
            print(i+1)
    import sys
    n = int(sys.stdin.readline())
    #리스트 입력 받기
    graph = [int(sys.stdin.readline()) for _ in range(n)]
    #리스트의 개수가 1인 경우
    if n==1:
        print(1)
    else:#리스트이 개수가1이 아닌 경우
        #맨 앞의 경우
        if graph[0]>=graph[1]:
            print(1)
        #for문으로 가운데 
        for i in range(1,n-1):
            if graph[i - 1] <= graph[i] and graph[i] >= graph[i + 1]:
                print(i + 1)
        #맨 뒤의 경우
        if graph[n-2]<=graph[n-1]:
            print(n)

    2) Java( 자바 )

    import java.util.*;
    import java.io.*;
    
    public class Main {
        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];
            //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);
                }
            }
        }
    }
    반응형

    '[백준] Python,Java로 풀기📖 > 구현' 카테고리의 다른 글

    백준 2578(빙고) - 구현  (0) 2025.04.11
    백준 10819(차이를 최대로)- Python(파이썬),Java(자바) - 구현,브루트포스(Permutations,Combinations,백트래킹,Java- 스택 사용 )  (0) 2022.06.09
    백준 1913(달팽이) - Python(파이썬) - 구현  (0) 2022.06.06

    댓글

    이 글 공유하기

    • 구독하기

      구독하기

    • 카카오톡

      카카오톡

    • 라인

      라인

    • 트위터

      트위터

    • Facebook

      Facebook

    • 카카오스토리

      카카오스토리

    • 밴드

      밴드

    • 네이버 블로그

      네이버 블로그

    • Pocket

      Pocket

    • Evernote

      Evernote

    다른 글

    • 백준 2578(빙고) - 구현

      백준 2578(빙고) - 구현

      2025.04.11
    • 백준 10819(차이를 최대로)- Python(파이썬),Java(자바) - 구현,브루트포스(Permutations,Combinations,백트래킹,Java- 스택 사용 )

      백준 10819(차이를 최대로)- Python(파이썬),Java(자바) - 구현,브루트포스(Permutations,Combinations,백트래킹,Java- 스택 사용 )

      2022.06.09
    • 백준 1913(달팽이) - Python(파이썬) - 구현

      백준 1913(달팽이) - Python(파이썬) - 구현

      2022.06.06
    다른 글 더 둘러보기

    정보

    쿄코코 블로그의 첫 페이지로 이동

    쿄코코

    • 쿄코코의 첫 페이지로 이동

    검색

    메뉴

    • 홈

    카테고리

    • 분류 전체보기 (168)
      • Python (24)
        • 😈 99클럽 코테 스터디 4기 TIL (23)
        • 궁금한거 정리 (1)
      • SQL (16)
        • HackerRank (15)
      • [백준] Python,Java로 풀기📖 (71)
        • 정렬(Sorting) (6)
        • 그리디 (5)
        • 문자열 (7)
        • 수학 (3)
        • DFS&BFS (10)
        • 구현 (4)
        • 다이나믹 (17)
        • 이분탐색 (1)
        • 자료구조 (10)
        • 최단거리 (5)
        • 인덱스트리 (0)
      • [프로그래머스]Python,Java로 풀기 (6)
        • Level 1 (4)
        • Level 2 (2)
      • Study Platform📚 (25)
        • (운영체제) - 블로그 및 강의 참고 (0)
        • 김영한👨🏻‍🏫의 스프링 부트와 JPA 실무 완전 .. (5)
        • (알고리즘)- [이코테] 이것이 코딩테스트다 정리 (10)
        • 그림으로 배우는 Http&Network Basic (10)
      • 까먹을까봐 적는 것들 (4)
      • 테스트 보고 난 후..🤔 (0)
      • kt 에이블스쿨 (18)

    최근 글

    인기 글

    댓글

    공지사항

    아카이브

    태그

    • TiL
    • 99클럽
    • 오블완
    • 프로그래머스
    • 항해99
    • 코딩테스트준비
    • 티스토리챌린지
    • 백준

    나의 외부 링크

    정보

    쿄코코의 쿄코코

    쿄코코

    쿄코코

    블로그 구독하기

    • 구독하기
    • RSS 피드

    방문자

    • 전체 방문자
    • 오늘
    • 어제

    티스토리

    • 티스토리 홈
    • 이 블로그 관리하기
    • 글쓰기
    Powered by Tistory / Kakao. © 쿄코코. Designed by Fraccino.

    티스토리툴바