로또 프로그램 ep03

유현서·2025년 5월 19일

로또 프로그램

목록 보기
3/7

이제 완전 랜덤으로 숫자를 추첨하는 코드를 만들어보겠다

public List<int[]> recommendRandom(int count) {
    List<int[]> recommendations = new ArrayList<>();
    List<Integer> baseNumbers = new ArrayList<>();
    
    for (int i = 1; i <= 45; i++) {
        baseNumbers.add(i);
    }
    Random random = new Random();
    while (recommendations.size() < count) {
        Collections.shuffle(baseNumbers,random);
        
        int[] candidate=baseNumbers.subList(0,6).stream()
                .sorted()
                .mapToInt(Integer::intValue)
                .toArray();
        
        recommendations.add(candidate);
    }
    return recommendations;
}

baseNumbers.sublist(0,6)
-> baseNumbers는 1~45가 섞인 리스트
sublist(0,6)은 앞에서부터 6개의 번호들을 추출한다
처음에 baseNumbers 는 for 때문에 1부터 순서대로지만 Collections.shuffle(baseNumbers,random) 때문에 랜덤으로 섞여졌다

recommendations.add(candidate);
-> 번호조합(candidate)을 추천 리스트(recommendations)에 추가하자

0개의 댓글