본문 바로가기
알고리즘 백준문제풀기

백준 python 2562번 최댓값 / 7785번 회사에있는사람 / 2869번 달팽이

by deeplearningkakao 2022. 1. 24.
반응형

백준 python 2562번 최댓값

입력

첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다.

출력

첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다.

 

 

 

Python
import sys 

def solution(n): 
     """첫번째 방법""" 
     max_num = float("-inf") 
     max_index = -1 

     for _ in range(n): 
          num = int(sys.stdin.readline().strip()) 

          if max_num < num: 
               max_num = num 
               max_index = _ + 1 
          else: 
               pass 
     print(max_num) 
     print(max_index) 

if __name__ == "__main__": 
     solution(9)

 

 

 

백준 7785번 회사에있는사람

입력

첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 출근, "leave"인 경우는 퇴근이다.

회사에는 동명이인이 없으며, 대소문자가 다른 경우에는 다른 이름이다. 사람들의 이름은 알파벳 대소문자로 구성된 5글자 이하의 문자열이다.

출력

현재 회사에 있는 사람의 이름을 사전 순의 역순으로 한 줄에 한 명씩 출력한다.

반응형

 

Python
import sys

n = int(sys.stdin.readline()) 

result = dict() 

for _ in range(n): 

     name, action = sys.stdin.readline().split()

     if action == "enter": 
          result[name] = True 
     else: 
          del result[name] 

print("\n".join(sorted(result.keys(), reverse=True)))

백준 python 2869번 달팽이는 올라가고 싶다

입력

첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)

출력

첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다.

 

 

Python
import sys 

def solution(morning, night, tree): 
     if morning >= tree: 
          return 1 

     delta = (morning - night) 
     day = (tree - morning) // delta

     if (tree - morning) % delta == 0: 
          return day + 1 
     else: 
          return day + 2 

if __name__ == "__main__": 

     a, b, v = map(int, sys.stdin.readline().split()) 
     print(solution(a, b, v))


반응형

댓글