파이썬 질문

파이썬 질문

작성일 2022.11.21댓글 1건
    게시물 수정 , 삭제는 로그인 필요

만약 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시간을 고민해봐도 도저히 모르겠습니다. 좀 알려주실 수 있으신가요... 너무 힘듭니다
꼭 제발 도와주세요. 읽어주셔서 감사합니다. 빠른 답변 부탁드립니다.



#파이썬 질문 #파이썬 질문 사이트 #파이썬 질문 커뮤니티 #파이썬 질문 만들기 #파이썬 질문 대답 #파이썬 질문 반복 #파이썬 질문 명령어 #파이썬 면접 질문 #파이썬 백엔드 면접 질문 #파이썬 코드 질문

profile_image 익명 작성일 -

main.py

size = 5 visited = [False for _ in range(size)] rooms = [_ for _ in range(size)] from random import sample new_rooms = sample(rooms, size) print(f"{new_rooms = }") current = visited.index(False) footprint = [] while True: if visited[current]: break footprint.append(current) visited[current] = True current = new_rooms[current] print(f"{footprint = }")

실행결과

❯ python main.py new_rooms = [1, 3, 4, 0, 2] footprint = [0, 1, 3] ❯ python main.py new_rooms = [2, 4, 3, 0, 1] footprint = [0, 2, 3] ❯ python main.py new_rooms = [1, 0, 2, 4, 3] footprint = [0, 1] ❯ python main.py new_rooms = [2, 4, 3, 1, 0] footprint = [0, 2, 3, 1, 4]

ㄱㄱ

파이썬 문제 질문

여기 있는 파이썬 문제들 좀 알려주세요! 2197 10648 6800 7562.166666666667 65416.666666666664 4710.0 7566.002307395419 65449.84694978735 4712....

파이썬 질문이요

출처: 두근두근 파이썬 도전문제 풀어주세요 ! python은 tuple 을 반환할 수 있습니다. 여러 개의 변수를 동시에 반환할 수 있죠. " " " "

파이썬 질문합니다

파이썬 날짜 시간 출력할때 now = datetime.datetime.now... now = datetime.datetime.now()는 파이썬 프로그래밍... datetime: 파이썬에서 날짜와 시간을 다루기 위해...

파이썬 질문...

파이썬 이거 왜 에러 뜨는 걸까요...? 아직 초보라서 쉽게 설명해주시면... 위에 print() 가 아닌 print=() 라고 적으신 부분들이 있어서, 파이썬이 print가 함수인지 아니면 저...

파이썬 질문

파이썬에서 ;가 무슨 뜻인가요? 한 줄에 다른 명령어를 쓸때 구분용으로 사용되긴 하는데, 저렇게 파일로 작성하는 경우 한줄에 명령어 하나만 들어가는게 일반적이라 있든...

파이썬 질문이요 !!

파이썬 수업 듣는 대학생입니다. 가끔 파이썬 하다보면 이렇게 빨간줄 생기는 경우가... 질문자님의 경우는 for문 끝에 반복문의 시작을알리는 콜론이 빠져있습니다. 문법상...

파이썬 질문

파이썬 설치 후 인강에서 jupyter를 깔아야한다 해서 인강대로 conda install jupyter를... 파이썬 설치후 주피터를 별도로 설치하는 과정은 과거에 주피터노트북이...