4. 자리 양보하기
1) 문제: 배 안에는 좌석이 3개밖에 없습니다. 다음 문제를 푸시오.
- 조건: 다리 아픈 동물들이 순서대로 들어옵니다.
- 조건: 동물의 종류는 다음과 같습니다. '무척추동물, 척추동물, 어류, 양서류, 파충류, 조류, 포유류'
- 조건: 동물들의 '종'이 같으면 같은 자리에 겹쳐서 앉을 수 있다. 겹쳐 앉는 경우 카운트는 1초로 한다.
- 조건: 자리가 꽉 차 있을 때 다른 '종'이 들어오면 최근에 들어오지 않은 '종'부터 나가게 된다. 일어나는데 1분 소요.
- 조건: 들어온 동물에서 전체 시간을 구하라.
- 팁: 페이지 교체 알고리즘 중 LRU(Least Resently Used) 알고리즘이 사용되었다. LRU 알고리즘이란 페이지 부재가 발생했을 경우 가장 오랫동안 사용되지 않은 페이지를 제거하는 알고리즘임.
**입력 :**
페이지 = ['척추동물', '어류', '척추동물', '무척추동물', '파충류', '척추동물', '어류', '파충류']
**출력 :**
5분 3초
2) 문제 풀이
페이지 = ['척추동물', '어류', '척추동물', '무척추동물', '파충류', '척추동물', '어류', '파충류']
# # 최근에 들어온 것을 뒤로 빼주는 전략 사용.
# 1회 : ['척추동물'] #False
# 2회 : ['척추동물', '어류'] #False
# 3회 : ['어류', '척추동물'] #HIT
# 4회 : ['어류', '척추동물', '무척추동물'] #False
# 5회 : ['척추동물', '무척추동물', '파충류'] #False
# 6회 : ['무척추동물', '파충류', '척추동물'] #HIT
# 7회 : ['파충류','척추동물', '어류'] #False
# 8회 : ['척추동물', '어류', '파충류'] #HIT
def solution(animals, num_seats):
chair = [] * num_seats
answer = 0
for i in animals:
if len(chair) < 3:
if i in chair:
hit_page = chair.pop(chair.index(i))
chair.append(hit_page)
answer +=1
else:
chair.append(i)
answer += 60
else:
if i in chair:
hit_page = chair.pop(chair.index(i))
chair.append(hit_page)
answer += 1
else:
chair.pop(0)
chair.append(i)
answer += 60
return print(f"{answer//60}분 {answer%60}초")
solution(페이지, 3)
※참고자료: 인프런 - 눈떠보니 코딩 테스트 전날! 강좌
※참고자료: 나무위키
※Copyright 사도출판 All rights reserved.
※본 게시물 속 내용을 통해 직접적으로 상업적인 목적이 없으며 게시물은 개인 공부 목적 및 지식 간단 전파목적으로 사용되었음을 명시함. 책 및 인터넷 검색을 참고자료로 하여 실습 및 학습을 한 내용을 올림. 참고한 책 및 인터넷 검색물의 저작권을 존중하므로 책 및 인터넷 저작물의 일부 또는 전부를 무단 복제 및 무단 전재 및 재배포하지 않음(일부라 함은 30%이하의 내용 중복은 불포함[30%이하는 다른 저작물로 간주]). 또한 책 또는 매체를 구매하지 않고는 정확한 내용을 알 수 없으며 개인이 따로 공부한 내용도 추가 되어 책과는 내용이 매우 상이할 수 있음.즉 본 게시물 작성자는 이 게시물을 읽는 모든 사람들이 책을 구매거나 인터넷 검색을 더하여 지식을 같이 나누었으면 좋겠음.
'Programming > Solving_problems' 카테고리의 다른 글
[기본_7문제_풀기/제주코딩베이스캠프] 6. 행렬 계산 (0) | 2020.07.07 |
---|---|
[기본_7문제_풀기/제주코딩베이스캠프] 5. 그림자 연결 (0) | 2020.07.07 |
[기본_7문제_풀기/제주코딩베이스캠프] 3. 섬 건너기 (0) | 2020.07.06 |
[기본_7문제_풀기/제주코딩베이스캠프] 2. 징검다리 건너기 (1) | 2020.07.06 |
[기본_7문제_풀기/제주코딩베이스캠프] 1. 암호해독 (0) | 2020.07.06 |