본문 바로가기
알고리즘/프로그래머스

[프로그래머스 / 삼총사 / JAVA]

by KDW999 2023. 1. 27.

https://school.programmers.co.kr/learn/courses/30/lessons/131705

 

프로그래머스

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

programmers.co.kr

 

 

문제 접근

제시된 학생들 중에서 3명을 뽑고 수를 더하는 거라 조합을 써야되나? 생각을 했었는데

그냥 삼중 for문 쓰면 될 것 같다라는 생각에 도달했다.

주의할 건 첫 for문에선 0부터 시작하나 그 다음 for문 부턴 앞 for문에 있는 변수의 +1부터 시작해야 수를 겹치지 않고 계산할 수 있다.

 

import java.util.*;

class Solution {

	public int solution(int[] number) {
        int answer = 0;
        
        ArrayList<Integer> arr = new ArrayList<Integer>();
        
        for(int i=0; i<number.length; i++) arr.add(number[i]);
        
        for(int i=0; i<=number.length-3; i++) {
        	for(int j=i+1; j<=number.length-2; j++) {
        		for(int k=j+1; k<=number.length-1; k++) {
        			if( arr.get(i) + arr.get(j) + arr.get(k) == 0)  answer++;

        		}
        	}
        }
        return answer;
    }
}

댓글