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