[백준] 14659번 - 한조서열정리하고옴ㅋㅋ (파이썬)

2022. 7. 31. 18:14·🎲 알고리즘 공부/백준

📝 문제 설명

> 

[문제 요약]

한 봉우리에는 한 명씩 서 있다. (정황상 한조가 서있는듯하다)

자신보다 더 낮은 봉우리에 있는 적들만 처치할 수 있다. 방향은 오른쪽이다. 

더 높은 봉우리에 있는 적을 만나면 포기하고 드러눕는다.

이 중 최고의 활잡이가 최대 몇 명을 처치할 수 있는 지를 구하라!

 

 

입출력 예시

 

https://www.acmicpc.net/problem/14659


🎨 풀이

💡 전체 코드

import sys
N = int(sys.stdin.readline())
hanzo = list(map(int, sys.stdin.readline().split()))
winner = hanzo[0]
result = []
count = 0

for i in range(1,len(hanzo)):
    if winner < hanzo[i]:
        winner = hanzo[i]
        result.append(count)
        count = 0
    else :
        count += 1
        if i == len(hanzo)-1:
            result.append(count)
            
print(max(result))

> 핵심 : for문 돌리면서 비교해보기!

           

 

🍦 코드 설명 (실행 순서대로 나열)

# main

N = int(sys.stdin.readline())
hanzo = list(map(int, sys.stdin.readline().split()))
winner = hanzo[0]
result = []
count = 0

1. N을 입력받는다.

 - N : 봉우리 수 = 활잡이 수

2. hanzo를 입력받는다.

 - hanzo : 활잡이가 올라가있는 봉우리들 리스트

3. winner에 hanzo[0]을 먼저 넣어준다.

 - winner : 현재 승자

4. result, count

 - result : 각각 승자가 이긴 활잡이 수 리스트

 - count : 누적 승리수

 

@ for문 (5번~12번)

for i in range(1,len(hanzo)):
    if winner < hanzo[i]:
        winner = hanzo[i]
        result.append(count)
        count = 0
    else :
        count += 1
        if i == len(hanzo)-1:
            result.append(count)

5. for문을 돌린다. (1부터 len(hanzo)-1까지)

6. 만약 winner 봉우리 높이가 hanzo[i]보다 크다면! (6~9번)

   7. winner에 hanzo[i]를 넣고

   8. result에는 count를 넣어준다. (최고의 활잡이였던 친구의 누적되어있던 count를 result에 넣어주는 거!)

   9. count를 0으로 초기화한다.  

10. winner 봉우리가 hanzo[i]보다 크지 않다면! (10번~12번)

   11. count += 1 을 해준다.

   12. 만약 i가 len(hanzo)-1라면 result에 count를 넣어준다.

       - 마지막이기 때문에 result에 넣어주고 for문을 종료하는 것이다

 

 

13. max(result)를 출력하면 된다.


​끝~

 

⭐ 느낀점

> 잘 풀고 설명한 것 같다. 하하. 고생했따~

'🎲 알고리즘 공부 > 백준' 카테고리의 다른 글

[백준] 14720번 - 우유 축제 (파이썬)  (0) 2022.08.03
[백준] 10250번 - ACM 호텔 (파이썬)  (0) 2022.08.01
[백준] 2869번 - 달팽이는 올라가고 싶다 (파이썬)  (0) 2022.07.30
[백준] 2864번 - 5와 6의 차이 (파이썬)  (0) 2022.07.29
[백준] 17478번 - 재귀함수가 뭔가요? (파이썬)  (0) 2022.07.28
'🎲 알고리즘 공부/백준' 카테고리의 다른 글
  • [백준] 14720번 - 우유 축제 (파이썬)
  • [백준] 10250번 - ACM 호텔 (파이썬)
  • [백준] 2869번 - 달팽이는 올라가고 싶다 (파이썬)
  • [백준] 2864번 - 5와 6의 차이 (파이썬)
듬듬
듬듬
  • 듬듬
    두드림
    듬듬
  • 전체
    오늘
    어제
    • 분류 전체보기 (267)
      • 📑 신입일기 (35)
      • 🎲 알고리즘 공부 (192)
        • 프로그래머스 (76)
        • 백준 (96)
        • 코드업 (19)
      • 📘 독서 (0)
      • 💌 일상 (12)
        • 일상 (5)
        • 기록 (7)
      • 📜 자격증 (2)
        • 정보처리기사 (2)
      • 학교 공부 (20)
        • ICT 개론 (14)
        • 리눅스 (6)
      • ChatGPT 랑 놀기 (0)
  • 블로그 메뉴

    • 홈
    • 방명록
    • 글쓰기
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    행렬덧셈
    정보처리기사
    오블완
    프로그래머스
    50문답
    파이썬
    일기
    6월 목표
    오버워치
    코테
    코드업
    nodejs
    codeup
    스프링 부트
    티스토리챌린지
    찬양추천
    BOJ
    백준
    스프링부트
    충무로
    피보나치수
    til
    폰켓몬
    컨텐더스
    연습문제
    코민이
    정처기
    신입일기
    코린이
    카카오
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
듬듬
[백준] 14659번 - 한조서열정리하고옴ㅋㅋ (파이썬)
상단으로

티스토리툴바