PS

더 개발자 인터뷰 가이드 - 배열 문제 3

깊게 생각하고 최선을 다하자 2022. 6. 7. 15:26
public class Solution {
    
    
    public int[] twoNum(int[] numbers, int target){
        
        
        int[] answer = new int[2];
        
        for(int i=0; i<numbers.length-1; i++){
            for(int j=i+1; j<numbers.length; j++){
                if(numbers[i] + numbers[j] == target){
                    answer[0] = i;
                    answer[1] = j;
                }
            }
        }
        
        return answer;
    }
    
    
    public static void main(String args[]) {
       
        Solution s = new Solution();
        int[] numbers = {1,2,6,8};
        int target = 9; 
        int[] result = s.twoNum(numbers, target);
        System.out.println(result[0] + " " + result[1]);
      
    }
}
import java.util.*;

public class Solution {
    
    
    public int[] twoNum(int[] numbers, int target){
        
        
        int[] answer = new int[2];
        
        HashMap<Integer, Integer> map = new HashMap<>();
        
        for(int i=0; i<numbers.length; i++){
            int num = numbers[i];
            
            if(map.containsKey(target-num)){
                answer[0] = map.get(target-num);
                answer[1] = i;
            }else{
                map.put(num, i);
            }
               
        }
        
        
        return answer;
    }
    
    
    public static void main(String args[]) {
       
        
        Solution s = new Solution();
        int[] numbers = {1,2,6,8};
        int target = 9; 
        int[] result = s.twoNum(numbers, target);
        System.out.println(result[0] + " " + result[1]);
      
    }
}