본문 바로가기
패스트캠퍼스 30일챌린지

[안드로이드] 패스트캠퍼스 챌린지 12일차!!

by 욧닭 2021. 9. 17.
반응형

들어가며

이제 랜덤으로 로또 번호를 뽑기 위해서 랜덤함수와 리스트의 셔플 함수를 잠깐 알아볼 시간을 가질 겁니다!! 원래 언어의 기본은 랜덤 함수라고도 할수 있는데요 램덤함수로 여러가지 기능을 사용할 수 있습니다 랜덤으로 추첨을 한다던지 로또 번호를 얻는다던지 랜덤으로 좌표를 뿌린다던지 여러가지 행위들을 할 수있습니다!! 그럼 기능들을 잠깐 알아볼까요?!

 

Random.nextInt(범위)

val random = Random()
println(random.nextInt(45))

램덤함수를 선언하고 nextInt(범위) 를 통해서 1 과 45 사이의 수 를 하나 뽑습니다! 라는 뜻입니다 되게 자바랑 엄청 비슷하죠? 왜냐하면 코틀린은 자바언어의 확장이라고도 생각하기 떄문에 비슷하지 않을까 라고 생가각합니다! 되게 기능이 쉽죠? nextInt 만 사용하면 랜덤한 값을 뽑을 수 있기 때문에 유용하게 사용할 것 같습니다. 이렇게 랜덤함수로 랜덤한 값을 뽑을 수도 있지만 list로도 랜덤한 값을 뽑을 수도 있습니다

 

list shuffle

val list = mutableListOf().apply(
	for(i in 0..45){
    	add(i)
    }
)

println(list.shuffle())

이렇게 하면 0 부터 45 까지 add를 통해 생성을 하고 shuffle 를 통해 값을 섞습니다 그러면 순서가 되게 랜덤하게 바뀔 것으로 예상이 되는데요!! 로또 추첨을 하기 위해서는 0 부터 45 까지의 랜덤한 숫자중 6개를 뽑아야 하기 때문에 셔플 함수를 사용하면 엄청 좋다고 생각하고 있습니다. 그럼 0 부터 45 까지의 리스트 사이의 값 중에 6개의 값을 뽑는 작업을 해야합니다!

 

list subList()

val list = mutableListOf().apply(
	for(i in 0..45){
    	add(i)
    }
)

val shuffleList = list.shuffle()

println(list.subList(6))

셔플된 값중에 6개만 또 랜덤으로 뽑겠다는 함수입니다 그래서 랜덤하게 두번을 값을 뽑는 것이죠!! 셔플로 한번 서브 리스트로 한번 이러면 절대로 중복날 일도 없고 안전하게 중복되지 않는 값 6개를 뽑을 수 있을 것 같습니다

 

이렇게 코틀린으로 랜덤한 값을 뽑는 예제를 알아봤습니다 내일은 constrainLayo ut 을 사용해서 layout을 이쁘게 꾸며 보고 오늘 다뤄본 코드들을 이용해서 로또 추첨기 어플을 만들어 보겠습니다!!

 

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발#패스트캠퍼스후기#30개 프로젝트로 배우는 Android 앱 개발 with Kotlin 초격차 패키지 Online

 

https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

반응형

댓글