PS/Programmers

[level1, Arrays] 삼총사

git-sun 2023. 3. 26. 00:16

1. 문제

 

 

 

 

 

 

 

 

2. 문제 해결 논리

1. 문제 이해

  • 주어진 것
    • int[] number    //임의의 정수 배열
  • 요구되는 것
    • int result    //임의의 세 정수를 합했을 때, 0이 되는 총 경우의 수

2. 데이터 구조 결정

  • 3중 반복문

3. 알고리즘 설계

  • 순차적으로 3개의 원소를 순회하는 반복문 사용

 

 

 

 

 

 

 

3. 코드 구현

class Solution {
    public static int solution(int[] number) {
     //총 합이 0이 되는 경우의 수를 정의할 변수
     int result = 0;
     	//인덱스 0부터 시작하는 원소1
        for (int i = 0; i < number.length; i++) {
        	//인덱스 i+1부터 시작하는 원소2
            for (int j = i+1; j < number.length; j++) {
            	//인덱스 j+1부터 시작하는 원소3
                for (int k = j+1; k < number.length; k++) {
                	//이 모든 원소들을 합했을 때, 0이 되면
                    if ((number[i] + number[j] + number[k]) == 0) {
                       //경우의 수+1
                       result++;
                    }
                }
            }
        }

        return result;
    }
}

 

 

 

 

 

 

* Reference

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

 

프로그래머스

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

programmers.co.kr

 

반응형