프로그래밍으로 로또 번호를 추출하는 방법을 알아보겠습니다.


우리나라 로또는 1번부터 45번 중에서 6개의 번호를 중복 없이 뽑습니다.


프로그래밍을 할 때는 어떻게 하면 좋을 까요? 다양한 방법이 있지만 제가 생각한 방법은 다음과 같습니다.


2개의 변수를 지정합니다.

(공, 선택된 번호)


ArrayList 또는 List로 1번부터 45번까지의 번호를 만듭니다(공).

그리고 공을 6번 뽑겠습니다.(다음 과정을 6번 반복합니다.)


ArrayList 또는 List 중에서 1개를 선택합니다.

선택된 번호를 저장합니다.

ArrayList 또는 List 에서 선택된 번호를 삭제합니다.


결과 확인: 선택된 번호를 출력합니다.

'프로그래밍 > 알고리즘' 카테고리의 다른 글

BPM(Beats Per Minute) 계산하기  (0) 2018.06.04

BPM은 Beats Per Minute(1분 당 비트 수)의 약자로 음악의 빠른 정도를 측정하기 위해 필요한 단위입니다.

60 BPM 은 1분에 비트가 60개 이므로 1 비트 당 1초의 시간이 배정됨을 알 수 있습니다.


1비트의 시간으로 BPM을 역계산 할 수 있습니다.

계산식은 다음과 같습니다.(아래 식에서 (s) 는 초, second)


BPM = 60(s) / 1비트의 시간(s)


프로그래밍에서는 보통 밀리세컨드(millisecond, ms)를 사용합니다.

위 식을 밀리세컨드로 변환해서 계산하면 다음과 같습니다.


BPM = 60000(ms) / 1비트의 시간(ms)


프로그램에서 탭(Tab) 으로 비트를 세고 BPM을 구하려면 어떻게 해야 될까요?


우선 첫번째 탭의 시간과 두번째 탭의 시간이 필요합니다.

주의할 점: 시간은 반드시 밀리세컨드 단위까지 있어야 합니다.

그리고 두 시간의 차이로 1비트의 시간을 구하면 됩니다. 참 쉽죠?


1비트의 시간(ms) = 두번째 탭의 시간 - 첫번째 탭의 시간

BPM = 60000(ms) / 1비트의 시간(ms)

(위 2줄짜리 식을 1줄로 바꿔도 상관 없습니다.)


4분의 4박자의 1마디 동안의 BPM을 구하려면 어떻게 해야 할 까요?


그러려면 총 5개의 탭 시간이 필요합니다.


4비트의 시간(ms) = 다섯번째 탭의 시간 - 첫번째 탭의 시간

1비트의 시간(ms) = 4비트의 시간(ms) / 4

BPM = 60000(ms) / 1비트의 시간(ms)

(위 3줄짜리 식을 1줄로 바꿔도 상관 없습니다.)


프로그램을 만들 때에는 버튼 하나를 만들어서 탭할 때 마다 시간을 저장하고 조건에 따라 로직을 계산할 수 있도록 하면 되겠네요.

'프로그래밍 > 알고리즘' 카테고리의 다른 글

로또 번호 추출하기  (0) 2018.06.04

+ Recent posts