Algorithm/CodingTest

[Programmers] Level.1 삼총사(Java)

누구세연 2023. 10. 24. 22:02

https://school.programmers.co.kr/learn/courses/30/lessons/131705?language=java

 

프로그래머스

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

programmers.co.kr

 

삼총사라는 문제 Java로 풀이하겠습니다.

문제 설명 및 제한 사항

이 문제를 해결할 수 있는 가장 간단한 방법은 모든 가능한 경우를 탐색하면서 조건이 충족하는지 확인하는 것입니다.

저는 다음과 같이 풀이하였습니다.

class Solution {
    int count = 0;
    public int solution(int[] number) {
        int count = 0;
        for (int i = 0; i < number.length - 2; i++) {
            for (int j = i + 1; j < number.length - 1; j++) {
                for (int k = j + 1; k < number.length; k++) {
                    if (number[i] + number[j] + number[k] == 0) {
                        count++;
                    }
                }
            }
        }

        return count;
    }
}

가능한 모든 조합을 찾기 위해서 중첩된 반복문을 사용했습니다.

  1. 세 개의 중첩문을 반복하여 세 수의 가능한 모든 조합을 탐색합니다.
  2. 각 반복문 내에서 세 수의 합이 0인지 확인하고 조건이 충족되면 count를 증가시킵니다.
  3. 중첩문을 모두 검사한 후 계산한 count 값을 반환합니다.

 

가장 간단한 방법을 사용해서 풀이하였습니다!
다른 이견이 있으시다면 자유롭게 댓글을 남겨주세요!_!