본문 바로가기

TIL/Java

Basic Algorithm 13th

반응형

1. 전달한 문자가 알파벳이면 true 아니면 false

String str을 반복문을 통해 str의 문자를 하나씩 검사한다

charAt() 함수를 사용하여 str의 인덱스를 ch라 지칭하고

조건문을 사용하여 알파벳인지 확인 후 출력한다

----------------------------------------------------------------------------------------------------------------------

2. 전달한 숫자가 3의 배수면 true 아니면 false

----------------------------------------------------------------------------------------------------------------------

3. 숫자를 하나 전달하면 문자열 "짝수입니다" / "홀수입니다" 반환

----------------------------------------------------------------------------------------------------------------------

4. 숫자를 전달하면 해당 숫자의 모든 약수를 배열 형태로 반환하는 함수

boolean 타입으로 divided를 입력받은 num까지의 개수로 만든다

반복문을 1부터 시작해서 입력받은 숫자 num까지 돌리고

만약 num % i == 0 / 즉 딱 맞게 나눠진다면 약수이므로,

약수일 때는 divided에 true로 차곡차곡 쌓고, 약수가 있을때 마다 카운트를 셈

divided[i-1] => 인덱스는 0번째부터 시작하므로 - 1을 넣음

그 다음 약수를 Int형 배열로 만들고, 이때 배열의 인덱스 수는 아까 센 count (약수의 개수) 만큼 만든다

반복문을 다시 0부터 입력받은 숫자 num까지 돌게하고

만일 divided [i] == true == 약수 (다 같은 뜻) 일 때,

약수의 인덱스에 = i + 1

i + 1을 하는 이유는, 0번째에 0이 들어갈 수 없기 때문이다 (인덱스 순서랑 실제로 들어오는 약수 값이 +1 차이 난다.)

그리고 약수를 리턴해준다.

----------------------------------------------------------------------------------------------------------------------

5. 전달한 정수가 소수라면 true 아니면 false를 반환하는 함수

입력받은 숫자를 int 형 num이라 칭하고

맨 처음에는, 2보다 작은 숫자는 소수가 아니기 때문에 먼저 걸러준다

그리고 2는 소수이기 때문에 리턴 값을 true로 놓고

세 번째로, 2로 나뉘는 수는 모두 짝수이기 때문에 num % 2 == 0을 모두 false로 지정한다

그리고 마지막으로 반복문을 도는데, 입력받은 숫자의 제곱근 (Math.sqrt)까지만 돌린다 (불필요한 계산을 줄이기 위해)

입력받은 숫자가 i로 나눠지면 false 출력

나머지는 true

----------------------------------------------------------------------------------------------------------------------

6. 숫자를 전달하면 해당 숫자의 팩토리얼을 반환하는 함수

 

반응형

'TIL > Java' 카테고리의 다른 글

Java 로또만들기 - (오류발견 : 보너스번호관련)  (0) 2021.08.03
Basic Algorithm 14th  (0) 2021.08.03
Basic Algorithm 12th  (0) 2021.08.03
Basic Algorithm 11th  (0) 2021.08.03
Basic Algorithm 10th  (0) 2021.08.03