wanna be dev 🧑‍💻

Cool 하고 Sick한 개발자가 되고 싶은 uzun입니다

A.K.A. Kick-snare, hyjhyj0901, h_uz99 solvedac-logo

Android/Challenge

패스트캠퍼스 챌린지 12일차

Kick_snare 2022. 2. 4. 23:49
728x90

12일차

생성일: 2022년 2월 4일 오후 11:27

30개 프로젝트로 배우는 Android 앱 개발 with Kotlin 초격차 패키지 Online

강의 목표


  • 프로젝트를 따라해보며 앱개발에 필요한 기술을 학습할 수 있습니다.
  • 프로젝트를 따라해보며 앱개발에 필요한 기술을 학습할 수 있습니다.
  • 앱 개발시 원하는 기능을 구현하기 위해 어떤 기술이 필요한 지 알 수 있습니다.
  • 디자인 아키텍처 패턴, 비동기 처리 등 효율적인 앱 개발 방법을 익힐 수 있습니다.

목차 02 Basic - Ch02. 로또 번호 추첨기


  • 인트로(완성앱&구현기능소개)
  • Collection 개념 소개
  • 로또 번호 추첨 알고리즘 생각해보기
  • Constraintlayout 이용하여 기본 UI 그리기(1)
  • Constraintlayout 이용하여 기본 UI 그리기(2)
  • 기능 구현하기(1)
  • 기능 구현하기(2)
  • Resource를 이용하여 꾸며보기
  • 아웃트로(정리)

로또 번호 추첨 알고리즘 생각해보기

val random = Random()
print("${random.nextInt(45) + 1}")
  • 인자로 bound를 주어 1부터 45까지의 값을 추출한다
  • list 콜랙션 자료구조를 이용하여 숫자 6개를 중복없이 뽑아보자
val random = Random()
val list = mutableListOf<Int>()

while(list.size < 6) {
    val randomNumber = random.nextInt(45) + 1
    if(list.contains(randomNumber)) continue
    list.add(randomNumber)
}
print(list)
  • 중복 되지 않도록 contains 함수로 중복여부를 체크한다
  • set 자료구조를 이용하여 더 간단하게 중복 없이 숫자를 추출할 수도 있겠다
val random = Random()
val numberSet = mutableSetOf<Int>()

while(numberSet.size < 6) {
    val randomNumber = random.nextInt(45) + 1
    numberSet.add(randomNumber)
}
print(numberSet)
  • 또다른 방법으로 list 를 섞어 앞의 6개의 원소만 추출하는 방법도 존재하겠다
val random = Random()
val list = mutableListOf<Int>().apply {
    for(i in 1..45) {
        this.add(i)
    }
}
list.shuffle()
print(list.subList(0, 6))
  • apply 를 이용하여 리스트를 1부터 45까지의 숫자로 초기화 해준다
  • 그리고 shuffle 함수로 랜덤하게 섞어준 후
  • subList() 함수로 앞의 6개 원소만 리스트화 하면 똑같이 랜덤하게 6개 숫자를 추출할 수 있다

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

수강인증샷

링크

https://bit.ly/37BpXiC

728x90