내용이 같은 두 목록은 같은 대상이 아니라는 두 줄짜리 장면으로 주장을 깹니다.
이 장면을 짧은 컴퓨터 글로 옮겨 천천히 확인해 볼게요.
처음이어도 괜찮아요 · 그림부터 시작해요
일반 서점에서는 이런 장면과 닮았어요. “큰 재판 기록 대신 결정적인 작은 영수증 한 장을 내미는 것과 닮았어요.”
아직 답을 몰라도 괜찮아요. 아래 작은 예시를 보고 먼저 예상해 보세요.내용이 같은 두 목록은 같은 대상이 아니라는 두 줄짜리 장면으로 주장을 깹니다. 이 장면을 살펴보는 까닭은 “어떤 말이 언제나 맞다는 주장을 꼭 필요한 숫자나 글 하나와 한 변화만으로 틀렸다고 보여 주는 작은 예예요”라는 기준을 익혀, 비슷해 보이는 두 경우도 안전하게 나누기 위해서예요.
02 · 먼저 해 본 뒤 이름 붙이기
동네책방 대상 카드
이 장면을 짧은 컴퓨터 글로 옮겨 천천히 확인해 볼게요.
책에서 쓰는 정확한 이름은 직접 살펴본 뒤에 붙여요.
표시를 전부 외우지 않아도 괜찮아요. 오른쪽의 쉬운 행동만 먼저 읽으세요.
def same(left, right): return left is right나중에 이름으로 부를 일 묶음과 받을 자리를 등록해요.
defsameleftrightreturnis:(),left = [1]오른쪽 일을 먼저 한 뒤 나온 내용을 왼쪽 이름표로 다시 찾게 해요.
left=[]right = [1]오른쪽 일을 먼저 한 뒤 나온 내용을 왼쪽 이름표로 다시 찾게 해요.
right=[]print(same(left, right), left == right)괄호 안 내용을 다음 계산으로 보내지 않고 화면에 보여줘요.
printsameleftright==(),먼저 하나를 고르면 첫 글을 따라 한 결과를 열 수 있어요.
자동으로 생긴 부분과 사람이 직접 정해야 할 약속을 서로 다른 칸에 놓으세요.
만들기, 보여 주기와 비교 중 생긴 부분을 봐요.
들어온 내용이 허용되는지 확인하고 안쪽 정보의 변화까지 막는 일은 별도예요.
인공지능 제안도 한 곳을 바꾼 예로 채택하거나 거절해요.
03 · 이제 내가 해볼 차례
내용이 같은 두 목록은 같은 대상이 아니라는 두 줄짜리 장면으로 주장을 깹니다. 이 장면을 살펴보는 까닭은 “어떤 말이 언제나 맞다는 주장을 꼭 필요한 숫자나 글 하나와 한 변화만으로 틀렸다고 보여 주는 작은 예예요”라는 기준을 익혀, 비슷해 보이는 두 경우도 안전하게 나누기 위해서예요.
짧은 글을 먼저 예상하고 직접 확인한 뒤, 대상에 붙은 정보와 시킨 일이 어디에서 왔는지 자기 말로 설명합니다.
04 · 자주 헷갈리는 지점
처음부터 모두 맞힐 필요는 없어요.괜찮아요. 대상과 그 대상에 붙은 정보부터 하나씩 다시 볼까요?
한 번 더 생각해 볼 질문두 대상을 같은 한 덩어리인지, 담긴 내용이 같은지만지를 나누어 적어 보세요.
이렇게 고쳐 생각해요같은 한 대상인지, 담긴 내용만 같은지와 어떤 종류의 설명을 따르는지 따로 확인해야 해요.
한 번 더 생각해 볼 질문“틀린 말을 깨는 가장 작은 장면” 장면에서 첫 글과 바꾼 글의 확인 내용에서 무엇이 달라졌는지, “어떤 말이 언제나 맞다는 주장을 꼭 필요한 숫자나 글 하나와 한 변화만으로 틀렸다고 보여 주는 작은 예예요”라는 기준과 “minimal counterexample이 작더라도 프로그램이 우연히 그렇게 움직이는 사소한 부분이나 매번 달라질 수 있는 자리 번호에 기대면 안 돼요. 확인하려는 생각 하나만 정확히 바꿔야 해요”라는 주의점을 써서 설명해 보세요. 그런 다음 “‘담은 것이 같으면 같은 한 대상이다’처럼 넓은 주장 하나를 골라 그 말을 깨는 가장 작은 장면을 만들어 보세요” 장면에서는 무엇부터 확인할지도 설명해 보세요.
이렇게 고쳐 생각해요첫 글과 한 곳을 바꾼 글에서 처음 달라지는 곳을 찾고, 그 앞과 뒤 모습을 따로 확인해요.
한 번 더 생각해 볼 질문오늘 본 일을 정확한 이름 없이 처음 배우는 친구에게 설명해 보세요.
이렇게 고쳐 생각해요이름보다 먼저 눈앞의 정보와 달라진 행동을 자기 말로 설명해야 새로운 문제에서도 판단할 수 있어요.
05 · 더 궁금할 때만 보기