Community
커뮤니티로또번호 당첨되는방법은 있다. 무료 알고리즘으로 분석해보자(1.212.218.26) | |||||
작성자 | Terra | 작성일 | 24-10-30 12:45 | 조회 | 18 |
---|---|---|---|---|---|
관련링크로또번호알고리즘 블루프린트에서 로또 번호 6개의 숫자를 만드는 예제를 실습해봤습니다. 정수 배열을 하나 만들어주고, While Loop(또는 For Loop)을 이용하여 총 6회 배열에 1에서 45 사이의 정수를 난수로 넣어준 다음 다시 첫 번째 항부터 로또번호알고리즘 마지막 항까지 텍스트 출력하는 알고리즘입니다. 여기에서 특이사항은 서로 중복되지 않는 난수를 생성해주는 함수가 기본 제공된다는 것입니다. 이름은 “ADDUNIQUE”입니다. 처음에 예제를 보고, 두 번째 난수 생성할 때부터는 이전에 이미 생성된 난수와 비교하는 로또번호알고리즘 과정을 계속 만들어줘야 하나 고민을 했었는데, 그럴 필요가 없는 것이죠. 아마 게임에서 이렇게 중복되지 않는 난수를 생성해야할 상황이 많이 일어나나 봅니다. LOOP문에서 배열에 ADDUNIQUE를 입력하면 겹치지 않도록 난수를 생성해줍니다. 처음에 수업 내용대로 로또번호알고리즘 코드를 만들고, 계속 두 가지 에러가 났었는데, 첫 번째 에러는 6개의 모든 숫자가 0으로 출력되는 것이었고, 이를 해결하기 위해 코드를 수정하다가 맞닥뜨린 두 번째 에러는 프로그램 강제 종료였습니다. 이 두 번째 에러는 로또번호알고리즘 While Loop에서 시작 지점과 종료지점의 설정을 잘못한 것이 원인이었습니다. 처음에 배열의 항의 개수를 Max 값으로 넣고 시작 값을 0으로 넣은 뒤에 이미 6개의 항목으로 이루어진 배열에 다시 값을 집어넣는 것으로 이해했던 것이 로또번호알고리즘 잘못되었던 것입니다. 즉, 배열을 모두 비운 상태에서 항목을 하나씩 추가하면서 배열의 항의 개수가 6개가 되면 배열 생성을 종료하는 것이 원래의 코딩 방향이었습니다. While Loop와 ADDUNIQUE 함수를 이용하여 배열을 생성하는 과정을 잘못 이해했던 로또번호알고리즘 탓입니다. 배열 생성이 완료되면, 그 다음 유용했던 함수는 “For Each Loop”입니다. For Loop문이나 While Loop문을 사용하면 시작 지점과, 종료 지점을 설정해주고 배열의 항을 일일이 뽑아내야 하지만, For Each Loop문을 사용할 경우 로또번호알고리즘 그냥 배열을 넣어주기만 하면 각 항목을 자동적으로 끄집어낼 수 있기 때문에 작업량이 크게 줄어들게 됩니다. 역시 기억해둬야 할 함수로 보입니다. 일단 로또 번호 생성하는 예제도 성공적으로 실습을 마쳤습니다. |