본문 바로가기
미분류/취준

[Grind75 / TypeScript, Java] #1 Two Sum

by 껐다 켜보셨어요? 2024. 10. 22.

Grind75라는 요즘 핫한 코테 준비 문제집

LeetCode에서 풀이할 수 있고 드물게 TypeScript도 지원한다기에

일단 되는 데까지 TypeScript, JavaScript, Java 이렇게 세 가지로 풀어 보기로 했다 

그래서 제목이 좀 길어짐

아 . 그리고

모든 문제는 영어로 되어 있다 음 ;; ㅎ

 

1번 문제는 제시된 int[] 타입 배열 num에서 두 수를 더해 int target이 되는 경우를 출력하면 된다

특이사항은 어떤 경우든 정답 케이스는 단 하나로 보장되어 있다는 것

 

아무튼 처음 내 풀이는 이랬다

nums를 순회하면서 자기 자신의 다음 요소부터 차례로 더하기

=> 을 구현하면 중복 쌍이 나오지 않을 것 같은데?

 


TypeScript


  function twoSum(nums: number[], target: number): number[] {
    let answer:number[] = [];

    for(let i:number = 0; i<nums.length; i++){
        for(let j:number = i+1; j<nums.length; j++){
            if(nums[i]+nums[j] === target){
                answer.push(i);
                answer.push(j);
            }
        }
    }

    return answer;
  };
 

 

JS 답안은 사실 여기서 type만 빼면 되긴 함

 

Java


  class Solution {
    public int[] twoSum(int[] nums, int target) {
        int[] answer = new int[2];

        for(int i = 0; i<nums.length; i++){
            for(int j = i+1; j<nums.length; j++){
                if(nums[i] + nums[j] == target) {
                    answer[0] = i;
                    answer[1] = j;
                }
            }
        }
       
        return answer;
    }
  }
 

 

근데 이건 O(N^2)의 복잡도를 가지고 있는데

다른 방법으로도 풀 수 있을까?

TS / Java

 

'미분류 > 취준' 카테고리의 다른 글

또 근황  (2) 2025.04.06
근황  (0) 2025.03.17
[PGMRS / Java] 개인정보 수집 유효기간  (2) 2024.12.25
[Grind75 / TypeScript, Java] #2 Valid Parentheses  (0) 2024.10.22
알고리즘 공부할 것 리스트  (0) 2024.10.16

댓글