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
반응형
'PS > Programmers' 카테고리의 다른 글
[level1, 배열/정렬] K번째수 (0) | 2023.03.29 |
---|---|
[level1, 비트 연산] [1차] 비밀지도 (0) | 2023.03.27 |
[level1, Arrays] 예산 (0) | 2023.03.25 |
[level1, Character] 시저 암호 (1) | 2023.03.24 |
[level1, index] 이상한 문자 만들기 (0) | 2023.03.23 |