인프런 커뮤니티 질문&답변

난로(벽난로)님의 프로필 이미지
난로(벽난로)

작성한 질문수

[입문자를 위한 UE5] Part1. 언리얼 엔진 블루프린트

연습 문제 : 로또 번호 생성기

로또 번호 생성기 셔플노드 제작 부분에서 질문있습니다.

작성

·

290

0

로또번호 생성기 셔플 노드를 통해 45개의 데이터를 추가하여, 셔플시켜 임의의 숫자 6개를 골라서 Number라는 배열변수에 넣어주는 것은 이해를 했습니다.
그러나 Temp라는 배열변수는 처음에 45개의 데이터가 추가가 되었는데, 다시 6개의 데이터를 Get으로 넣어주개 되면은 데이터가 51개가 되버리는게 아닌가라는 생각을 해서요. 이부분 잘 이해가 되지 않습니다.

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

난로님의 질문에 대한 답변입니다. 로또 번호 생성기에서 ‘셔플(shuffle)’ 노드는 배열의 요소들을 무작위로 섞는 역할을 합니다. ‘Temp’라는 배열변수에는 초기에 1부터 45까지의 숫자가 추가되고, 이 배열은 셔플을 통해 순서가 섞이게 됩니다.

셔플 이후에 ‘Get’을 사용하여 ‘Temp’ 배열에서 6개의 숫자를 선택하면, ‘Temp’ 배열 내의 데이터가 추가되는 것이 아니라 해당 숫자만 ‘Number’라는 다른 배열변수에 저장되는 방식입니다. 즉, ‘Temp’ 배열에서 숫자를 가져오는 것이지, ‘Temp’ 배열 안의 데이터가 늘어나는 것은 아닙니다.

따라서 ‘Temp’에는 여전히 45개의 숫자가 남아 있으며, ‘Number’ 배열에는 ‘Temp’ 배열에서 선택한 6개의 숫자가 들어가게 되는 것입니다. 이는 데이터를 복사하여 다른 곳에 저장하는 행위이므로 ‘Temp’ 배열의 요소 수가 변하지 않습니다. 이해가 되셨길 바랍니다.

더 궁금한 점이 있으시면 추가 질문 부탁드립니다.

그렇다면 정수를 사용한 ADD는 정수에 값을 더한다는 개념이고,
배열을 사용한 ADD의 경우에는 인덱스 내에 엘리멘트 값을 새로 추가를 해준다고 이해하면 될까요?

난로(벽난로)님의 프로필 이미지
난로(벽난로)

작성한 질문수

질문하기