문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
정수 배열 nums가 주어진다. 또한 정수 original이 주어지고, nums에서 찾아야하는 첫 번째 숫자이다.
다음 단계를 수행한다.
최종 original 값을 반환해라.
#1
Input: nums = [5, 3, 6, 1, 12], original = 3
Output: 24
Explanation:
- nums에서 3을 찾았다. 3에 2를 곱해서 6이 된다.
- nums에서 6을 찾았다. 6에 2를 곱해서 12가 된다.
- nums에서 12를 찾았다. 12에 2를 곱해서 24가 된다.
- nums에서 24를 찾을 수 없다. 24를 반환한다.
#2
Input: nums = [2, 7, 9], original = 4
Output: 4
Explanation:
- 4는 nums에서 찾을 수 없다. 4를 반환한다.
class Solution {
public int findFinalValue(int[] nums, int original) {
Set<Integer> hs = new HashSet<>();
for(int num : nums){
hs.add(num);
}
while(hs.contains(original)){
original = 2 * original;
}
return original;
}
}