Algorithms/프로그래머스

[프로그래머스][Java] 삼총사

hyunki.Dev 2023. 2. 16. 00:18

📌 문제

프로그래머스 Lv1 - 삼총사

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

📌 풀이

  • 처음엔 순서가 없는 조합 문제라고 생각하여 파이썬에서와 같은 조합을 구해주는 라이브러리가 있나 생각했지만 이중 for문으로 구할 수 있는 문제였다.
  • 이중 for문으로 세가지 숫자의 조합을 만들 수 있을 때까지 반복문을 돌린다
  • 이 때 idx 를 선언하여 마지막 숫자는 고정 값으로 넣어준다.

 

📌 코드

class Solution {
    public int solution(int[] number) {
        int answer = 0;
        
        //3개의 숫자 그룹을 만들 수 있을때까지만 for문 실행 
        for(int i = 0; i < number.length - 2; i++) {
            //마지막 숫자 전까지
            for(int j = i+1; j < number.length -1; j++){
                
                //마지막 숫자를 가리키는 인덱스 번호
                int idx = number.length - 1;
                
                while(j < idx){

                    if(number[i] + number[j] + number[idx] == 0){
                        answer++;
                    } 
                    idx--;
                }
                
            }
            
        }
        
        return answer;
    }
}