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