728x90
코드 힌트
- 초기화
- result 변수는 모든 연산의 총 횟수를 기록하기 위해 사용됩니다.
- 배열 요소 순회
- num_list 배열의 각 요소를 순회하면서, 각 숫자가 1이 될 때까지 필요한 연산 횟수를 계산합니다.
- 배열을 순회할 땐 for문 혹은 forEach문을 사용하여 배열의 요소에 접근합니다.
- 배열 요소를 1이 될 때까지 반복은 while문을 사용하여 n > 1일 때 반복하게 합니다.
- 짝수와 홀수 처리
- 짝수일 때: 해당 숫자를 절반으로 나눕니다. 예를 들어, 8 -> 4 -> 2 -> 1과 같은 과정입니다.
- 홀수일 때: 먼저 1을 뺀 후 절반으로 나누어 짝수로 만듭니다. 예를 들어, 7 -> 6 -> 3 -> 2 -> 1과 같은 과정입니다.
- 연산 횟수 누적
- 각 숫자에 대해 연산이 수행될 때마다 result 변수를 증가시킵니다.
- 최종 결과 반환
- 모든 숫자에 대해 연산이 완료된 후, 총 연산 횟수를 반환합니다.
정답은 더보기 클릭
더보기
class Solution {
public int solution(int[] num_list) {
int result = 0; // 연산 횟수를 저장할 변수
// num_list 배열의 각 요소를 순회
for (int n : num_list) {
// n이 1이 될 때까지 반복
while (n > 1) {
if (n % 2 == 0) { // n이 짝수인 경우
n /= 2; // n을 절반으로 나눈다
} else { // n이 홀수인 경우
n = (n - 1) / 2; // n에서 1을 빼고 절반으로 나눈다
}
result++; // 연산 횟수를 증가
}
}
return result; // 모든 연산이 끝난 후 최종 결과 반환
}
}
728x90
'프로그래머스(Java) > Level 0' 카테고리의 다른 글
[프로그래머스] 문자열이 몇 번 등장하는지 세기 (0) | 2024.08.13 |
---|---|
[프로그래머스] 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기 (0) | 2024.08.13 |
[프로그래머스] 조건에 맞게 수열 변환하기 2 (0) | 2024.08.12 |
[프로그래머스] 빈 배열에 추가, 삭제하기 (0) | 2024.08.08 |
[프로그래머스] 날짜 비교하기 (0) | 2024.08.08 |