본문 바로가기

FOSCAR-(Autonomous Driving)/알고리즘 스터디

[2023 알고리즘 스터디] 1조 안세홍 2주차 - 백준 14720, 14487, 22864, 9237

반응형

안녕하세요. 1조 2주차 블로그 리뷰를 맡은 안세홍입니다.

https://www.acmicpc.net/problem/14720
영학이가 우유 축제에서 마실 수 있는 우유의 최대 개수를 출력하는 문제입니다.

 

먼저 몇 개의 가게 있는지 입력받고  우유 가게의 갯수를 입력받습니다.  
현재 가게가 영학이가 먹은 가게의 수를 계산하기 위해서 count라는 변수를 선언해준 뒤 for 문으로 가게의 갯수만큼 돌아준 뒤 마신 우유의 갯수를 출력해줍니다.

 

https://www.acmicpc.net/problem/14487  
가장 효율적인 이동비용을 구하는 문제입니다.

 

가장 효율적인 이동거리로 돌기 위해서는 섬을 빙빙 도는 원형 길 외에는 다른 길은 존재하지 않기 때문에 먼저 가장 큰 비용이 드는 곳부터 방문하면 된다 따라서  
모든 마을의 이동비용을 합산한 뒤 가장 큰 비용이 드는 곳을 빼주면 됩니다.

https://www.acmicpc.net/problem/22864  
피로도를 계산하여 번아웃이 오지 않고 최대한 많은 일을 할 수 있는지 출력하는 문제입니다.

 

 

먼저 시간(time)과 일한 양(result), 피로도(fatigue) 변수를 만들어줍니다.  
일단 먼저 하루가 24시간이기 때문에 체크를 위햇 time에 1시간를 더해주시고 피도로가 번아웃이 올정도로 높아지지 않도록 계속해서 체크해주다가 24시간이 되었을 때 그때 한 일에 대해 출력해주면 된다.

https://www.acmicpc.net/problem/9237  
묘목을 빠르게 심어 이장님이 최대한 빠른날에 초대할 수 있도록 하는 문제입니다.

 

묘목이 걸리는 일 수를 리스트로 받아서 가장 오래걸리는 나무먼저 심기 위해서 내림차순으로 정렬을 합니다. 그리고 list 를 for 문을 통해 돌며 해당 날짜 수 와 몇일 뒤 심어지는지를 위해 i를 더해주고 맨처음 1일 이장님이 오실 날짜 1일을 더해줍니다. 그 후 List에서 가장 큰 수를 출력해주시면 됩니다.

반응형