본문 바로가기

알고리즘 공부/백준 > Python3

[백준 파이썬] #7567: 그릇

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

 

7567번: 그릇

그릇을 바닥에 놓았을 때 그 높이는 10cm 이다. 그런데 두 개의 그릇을 같은 방향으로 포개면 그 높이는 5cm만 증가된다. 만일 그릇이 서로 반대방향으로 쌓이면 높이는 그릇만큼, 즉 10cm 늘어난다.

www.acmicpc.net

 

[문제 접근]

그릇을 바닥에 놓았을 때 그 높이는 10cm 이다. → 그릇 하나에 10cm 즉 첫 그릇은 10cm

그런데 두 개의 그릇을 같은 방향으로 포개면 그 높이는 5cm만 증가된다.

이전 그릇과 현재 그릇의 방향이 같다면 5cm 증가 ex) '(('= 10+5=15cm

만일 그릇이 서로 반대방향으로 쌓이면 높이는 그릇만큼, 즉 10cm 늘어난다.

이전 그릇과 현재 그릇의 방향이 반대라면 10cm 증가 ex) '()'= 10+10=20cm

 

 

[정답]

 

1. 리스트 bowl에 그릇을 입력받는다.

2. 그릇의 높이 sum을 정의한다.

3. for문을 돌면서 그릇의 방향을 비교한다. 만약 첫그릇이라면 sum+=10을 해준다. 만약 이전 그릇과 현재 그릇의 방향이 같다면 즉 bowl[i-1]==bowl[i]이라면 sum+=5를 한다. 그 외의 경우 즉 이전 그릇과 현재 그릇의 방향이 반대라면 sum+=10을 해준다.

4. 최종적으로 그릇의 높이 sum을 출력한다.