TIL/kotlin 알고리즘
kotlin 프로그래머스 lv1 삼총사
crablo
2024. 1. 31. 14:37
728x90
문제 설명
중학교 각 학생이 정수 번호를 부여받고 정수번호의 합이 0이 되는 학생 트리오의 수를 찾는것이 목표이다.
해결 방법
나는 이 문제를 해결하기 위해 세 개의 중첩 루프를 사용하여 가능한 모든 세 학생의 조합을 반복하는 방법을 사용했다.
설명
[number 배열]
0번째 | 1번째 | ........ | n-2번째 | n-1번째 | n번째 |
1.초기화: 가능한 삼총사의 초기 수를 0으로 설정한다.
2.조합 반복
- 첫 번째 루프(for(i in 0 until n-2))는 삼총사의 첫 번째 학생의 인덱스를 나타낸다.
- 두 번째 루프(for(j in i+1 until n-1))는 삼총사의 두 번째 학생의 시작 인덱스를 나타낸다.
- 세 번째 루프(for(k in j+1 until n))는 삼총사의 세 번째 학생의 시작 인덱스를 나타낸다.
3. 합 검사:
- 각각의 세 학생 조합에 대해 그들의 번호의 합이 0인지 확인한다.
4. 유효한 삼총사 계산
- 합이 0이면, 유효한 삼총사를 나타내므로 count를 증가시킨다.
5. 결과 반환:
- 최종 count는 학생들 사이에서 삼총사를 형성하는 방법의 총 수를 나타낸다.
728x90