본문 바로가기

PS

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

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]);
      
    }
}

 

'PS' 카테고리의 다른 글

모의고사  (0) 2022.06.07
숫자 게임  (0) 2022.06.07
더 개발자 인터뷰 가이드 - 배열 문제 2  (0) 2022.06.07
더 개발자 인터뷰 가이드, 배열 문제 1  (0) 2022.06.07
큰 수 만들기  (0) 2022.06.03