파이썬 질문
-
게시물 수정 , 삭제는 로그인 필요
만약 room = [2,0,1,4,3] 라는 리스트와 visited = [False] * 5 라는 리스트가 있다고 가정할게요.
room의 의미는 0번 박스에 내용물 2가, 1번 박스에 내용물 0이, .... 이런 식으로 들어있다는 의미입니다
제가 지금 구현해야 하는 것이 처음에 일단 먼저 가장 앞에 있는 박스를 열어요 그리고 오픈한 박스는 false에서 true로 visited의 리스트를 변경해줘야 합니다(업데이트). 지금 0번째 박스를 열었으니까 visited의 0번째 원소를 false에서 true로 바꿔주는 것이죠 그런 다음에 0번째 박스를 열고 그 내용물을 확인하면 2가 되잖아요 그러면 그 내용물인 2가 오픈할 박스의 인덱스가 되어서 (하나의 loop처럼) 2번 박스를 room에서 까는 거에요 그러면 아까와 마찬가지로 visited의 2번째 원소(0번째 1번째 2번째 이렇게 세는 것이라고 생각할게요)를 false에서 true로 바꿔줍니다
그러면 이제 room의 2번째 박스의 내용물인 1이 마찬가지로 오픈할 박스의 인덱스가 되어서 1번 박스를 room에서 까는거에요 아까와 마찬가지로 visited의 1번째 원소를 false에서 true로 바꿔줍니다
마지막으로 이제 room의 1번째 박스의 내용물인 0이 오픈할 박스의 인덱스가 되겠죠? 그런데 이미 0번째 원소는 처음에 true로 바뀌었잖아요 이렇게 true를 찾으면 하나의 loop가 완성되었다고 생각하고 while문을 중단하고 visited는 최종적으로 [True True True False False]이렇게 바뀌도록 코드를 구현하고 싶습니다
visited = [False] * 5
room = [2,0,1,4,3]
current = visited.index(False)
while not visited[current]:
여기까지는 완성했는데 이 뒤부터 채워야 하는데 이걸 어떻게 해야할지 5시간을 고민해봐도 도저히 모르겠습니다. 좀 알려주실 수 있으신가요... 너무 힘듭니다
꼭 제발 도와주세요. 읽어주셔서 감사합니다. 빠른 답변 부탁드립니다.
#파이썬 질문 #파이썬 질문 사이트 #파이썬 질문 커뮤니티 #파이썬 질문 만들기 #파이썬 질문 대답 #파이썬 질문 반복 #파이썬 질문 명령어 #파이썬 면접 질문 #파이썬 백엔드 면접 질문 #파이썬 코드 질문