//결과값을 만든다
fun main(args: Array<String>) {
val result = lottonumber()
for (i in result.indices) {
println("${result[i]}")
}
}
//배열을 만든다. 이걸로 로또 6명에게 랜덤한 숫자를 부여한다,
fun array(){
val array = arrayOf("1번째", "2번째", "3번째", "4번째", "5번째", "6번째")
}
//결과값의 소스를 만든다.
// ※List는 값이 변경 불가능함(읽기전용). MutableList는 읽기 쓰기 다됨
fun lottonumber(): List<Int> {
//로또번호는 변경가능한 값입니다
val lottoNumbers = mutableListOf<Int>()
//while : for(반복문)과 비슷한데 루프가 시작하기 전에 조건을 검색한다고 한다.
while (lottoNumbers.size < 6) {
//1..45를 하면 에러가 뜬다. 1. 46을 한 이유는 46은 포함이 안되기
//때문에 45까지 출력하기 위해 46을 씀
val randomNumber = Random.nextInt(1, 46)
//if는 리턴값이다. 로또번호중 찾는것이 있는지 확인하는 과정이다.
// continue 값을 주고 다시 반복함
if (lottoNumbers.contains(randomNumber)) {
continue
}
lottoNumbers.add(randomNumber)
}
//sort는 리턴값 없이 컬렉션 자체를 정렬해준다.
lottoNumbers.sort()
return lottoNumbers
}
여기서 6명의 사람에게 1~45까지 랜덤한 숫자를 각각 따로 주게끔 코드를 짜야함..
조건은 1~45를 한명에게 줄 때, 중복번호를 주면 안됨(2번째 번호부터는 상관없음)
나 개초본데 이거하라해서 혼자하다가 계속 오류뜨고 못하겠길래 참고할려고 어디서 끍어왔음..
뭘 도와달란거야 씨발아 다 된거 갖고와서
저거 배열만 만들어놧는데 val array = arrayOf("1번째", "2번째", "3번째", "4번째", "5번째", "6번째") 여기서 1번째는 3,4,5,6,7,8 입니다 2번쨰는 1,2,3,4,5,6 입니다 이런식으로 println하고싶은데 못하겟서 오류남
변수 하나로 6명한테 주고 싶은거임?
ㅇㅇ 내가 개떡같이 설명햇는데 그걸 알아들엇네
하고있어바 내가 해보고 알려줄개
ㅇㅇ나지금 혼자 하고잇긴하고잇는데 오류만뜨고 진도가안나감 미안하고 고맙다
https://m.dcinside.com/board/programming/1975145
일단 한명에게 주게끔 짜봐 그러면 그걸 6번 반복하면 6명에게 주는 거야 프로그래밍은 레고블럭 조립이라고 해서 기능을 쪼개는 거야 나중엔 추상화하기도 하지만 실제 인식가능한 기능별로 구현을 잘게 쪼개야해 ㅇㅅㅇ
그걸 프로그래밍적 사고 방식이라고 한다 ㅇㅅㅇ
한명에게 6개 번호 주는 걸로 난이도를 낮추고 난이도를 상향시켜서 한명이 6명이 되는 거지 난이도 낮은 기능부터 구현->그걸 계속 추상화
그리고 저걸 짤 때 각 1개의 공마다 확률이 같게끔 해야해 확률이 같지 않으면 안되니깐 그래서 리스트를 먼저 만들고 로또 공 실제로 뽑듯이 pop해서 1~45리스트 중에서 한 번호씩 지워가는 거야 새로운 사람에게 줄 땐 그 리스트를 당연히 초기화해야겠지
이건 번호 개수가 작아서 통하는 방법이고
번호 개수가 많아지면 리스트 안 만들고도 수학적으로 확률이 같게끔 구조를 잡아야해
ㅇㅇpop도 써볼려햇는데 이해도가 딸려가지고 일단 완성부터하고 공부를 해서 쓰든지 하려햇는데, 글구 6번 반복한다는게 출력할때 값을 일일이 6번짜서 주란거지? ㅇㅅㅇ/ 고마워암튼 무적권 배워간다
일일이 여러번 짤 필요 없이 반복문 돌리면 6번째까지 알아서 들어가게 같은 부분을 최대한 같게 해야해 그게 바로 추상화
반복문은 블럭 같은 붕어빵 틀인데 안에 들어가는 변수(초코 바닐라 크림 단팥)인 소스만 달라지는 거라고 보면 됨 무조건 붕어빵 틀은 비슷하게 한번에 쿵 찍으면 쿵 찍히게 만들어야 함