프로그래머스 삼총사 JAVA 풀이 (브루트포스, 조합, 시간복잡도)

2026. 5. 20. 21:58·코테(Solved.ac + Programmers)
728x90

서로 다른 3명을 선택하는 모든 경우를 탐색하는 브루트포스 문제


📌 문제 개요

학생들의 번호 배열이 주어질 때,
서로 다른 학생 3명의 번호 합이 0이 되는 경우의 수를 구하는 문제


📌 접근 방법

배열 길이가 최대 13이므로, 모든 경우를 직접 탐색해도 충분

밖에 나오지 않기 때문에 3중 반복문 브루트포스로 해결할 수 있습니다.

13C3 = 286

📌 핵심 아이디어

1. 조합 생성

  • 첫 번째 학생 선택
for(int i = 0; i < number.length; i++)

2. 중복 제거

  • 이미 선택한 학생은 다시 선택하지 않도록 처리.
for(int j = i + 1; j < number.length; j++)

3. 세 수의 합 확인

  • 합이 0이면 count 증가
if(number[i] + number[j] + number[k] == 0)

📌 전체 코드

package level1;

public class No36 {
    public static void main(String[] args) {
        int[] number = {-2, 3, 0, 2, -5};
        int count = 0;

        for(int i = 0; i < number.length; i++){
            for(int j = i + 1; j < number.length; j++){
                for(int k = j + 1; k < number.length; k++){

                    if(number[i] + number[j] + number[k] == 0){
                        count++;
                    }

                }
            }
        }

        System.out.println(count);
    }
}

📄 정리

이 문제는 대표적인 조합 브루트포스 문제

  • 서로 다른 3명 선택
  • 중복 없는 조합 생성
  • 모든 경우 탐색
728x90

'코테(Solved.ac + Programmers)' 카테고리의 다른 글

프로그래머스 최소직사각형 (JAVA)  (0) 2026.05.22
프로그램머스 이상한 문자 만들기 (JAVA)  (0) 2026.05.21
프로그래머스 최대공약수와 최소공배수 JAVA 풀이 (유클리드호제법, 시간복잡도)  (0) 2026.05.18
프로그래머스 크기가 작은 부분문자열 JAVA 풀이 (문자열, substring, 시간복잡도)  (0) 2026.05.17
프로그래머스 같은 숫자는 싫어 JAVA 풀이 (스택, 구현, 시간복잡도)  (0) 2026.05.16
'코테(Solved.ac + Programmers)' 카테고리의 다른 글
  • 프로그래머스 최소직사각형 (JAVA)
  • 프로그램머스 이상한 문자 만들기 (JAVA)
  • 프로그래머스 최대공약수와 최소공배수 JAVA 풀이 (유클리드호제법, 시간복잡도)
  • 프로그래머스 크기가 작은 부분문자열 JAVA 풀이 (문자열, substring, 시간복잡도)
PUSH → MERGE → DEPLOY
PUSH → MERGE → DEPLOY
데이터 흐름과 운영 자동화를 설계하는 백엔드 개발자
  • PUSH → MERGE → DEPLOY
    Coding Dongin
    PUSH → MERGE → DEPLOY
  • 전체
    오늘
    어제
    • MEUN
      • 코테(Solved.ac + Programmers)
      • BootCamp(JAVA)
      • JAVA
      • SpringBoot
      • JavaScript
      • JSP
      • DB(SQL)
      • React
      • HTML_CSS
      • jQuery
      • SCSS
      • GSAP
      • 설치 + 꿀팁
      • 정보처리기사 오답노트
      • 정보처리기사 기출문제
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GIT
  • 공지사항

  • 인기 글

  • 태그

    정보처리기사
    level0
    level1
    배열
    실기
    수학
    코딩테스트
    정처기오답노트
    백엔드개발자
    dp
    백준
    java
    solved.ac
    브루트포스
    springboot
    문자열
    알고리즘
    정보처리기사 실기 기출문제
    Level2
    시뮬레이션
    프로그래머스
    정처기실기
    피보나치
    기출문제
    정렬
    구현
    자료구조
    완전탐색
    정처기
    자바
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.4
PUSH → MERGE → DEPLOY
프로그래머스 삼총사 JAVA 풀이 (브루트포스, 조합, 시간복잡도)
상단으로

티스토리툴바