Android/Kotlin

랜덤함수 (feat. seed값이란?, set, apply)

appmaster 2021. 7. 20. 12:37

 

다음은 random함수를 만들고 실행하는 간단한 프로그램을 만들었습니다.

 

Seed값이란?

Seed 즉, 난수 값을 설정하는 이유는 컴퓨터는 원래 복잡한 연산을 수행하는 것 보다 난수를 만드는 것을 더 어려워 합니다. 컴퓨터는 기본적으로 난수를 만들수 없기 때문인데요, 컴퓨터는 기본적으로 정해진 입력에 따라 정해진 값을 낼 뿐입니다. 따라서 이를 해결하기 위해 컴퓨터는 아래 나오는 난수 생성 알고리즘을 사용해 난수를 생성합니다.

 

이때 이 난수 알고리즘을 실행하기 위해 쓰는 수를 Seed라고 합니다.

따라서, 만약 계속 같은 seed를 사용한다면 컴퓨터는 계속 같은 패턴의 난수를 생성하게 됩니다.

 

다음은 for문을 이용하여 난수들을 출력해 보았습니다.

 

하지만 이것의 문제점이 있습니다.

다음과 같이 동일한 값이 출력이 되는 모습입니다. 이것을 해결하기 위해서 collection이라는 개념을 사용해보겠습니다.

 

다음은 숫자가 중복되지않는 알고리즘입니다. set함수를 사용하면 훨씬 더 간편하게 만들 수 있습니다.

 

 

apply를 이용하여 list를 초기화 해보았습니다.

'Android > Kotlin' 카테고리의 다른 글

다른 엑티비티에 데이터가 넘어갈때 알아야하는 사항들  (0) 2021.07.11
Lambda expression  (0) 2021.07.05
Data Class  (0) 2021.07.05
With 함수 & Run 함수  (0) 2021.07.05
타입추론과 함수  (0) 2021.07.02