18. 두 개의 수로 특정값 만들기
n개의 양의 정수로 이루어진 배열 arr와 정수 target이 주어졌을 때 이 중에서 합이 target인 두수가 arr에 있는지 찾고, 있으면 true, 없으면 false를 반환하는 solution() 함수를 작성하세요
제약조건
- n은 2 이상 10,000 이하의 자연수입니다.
- arr의 각 원손느 1 이상 10,000 이하의 자연수입니다.
- arr의 원소 중 중복되는 원소는 없습니다.
- target은 1 이상 20,000 이하의 자연수입니다.
입출력의 예
arr | target | return |
[1, 2 3, 4, 8] | 6 | true |
[2, 3, 5, 9] | 10 | false |
내 답안
import java.util.*;
class q2 {
public static void main(String[] args) {
int[] arr = {2,3,5,9};
int target = 10;
String result = solution(arr,target);
System.out.println(result);
}
public static String solution(int[] arr, int target) {
HashMap<Integer, Integer> hm = new HashMap<>();
for(int i =0 ; i<arr.length;i++){
for(int j=i+1; j<arr.length;j++){
hm.put(arr[i]+arr[j],arr[i]+arr[j]);
}
}
String answer;
if(hm.containsKey(target)){
answer = "true";
}else{
answer = "false";
}
return answer;
}
}
반응형
'컴퓨터 과학 > 💯 코테' 카테고리의 다른 글
코딩 테스트 합격자 되기 | 문제20. 할인 행사 (0) | 2024.11.19 |
---|---|
코딩 테스트 합격자 되기 | 문제19. 완주하지 못한 선수 (1) | 2024.11.18 |
코딩 테스트 합격자 되기 | 문제17. 카드뭉치 (0) | 2024.11.17 |
코딩 테스트 합격자 되기 | 문제16. 기능개발 (0) | 2024.11.17 |
코딩 테스트 합격자 되기 | 문제15. 요세푸스 문제 (1) | 2024.11.15 |