[알고리즘] 삼총사

2023. 4. 29. 12:41·알고리즘
반응형

문제 설명

한국중학교에 다니는 학생들은 각자 정수 번호를 갖고 있습니다. 이 학교 학생 3명의 정수 번호를 더했을 때 0이 되면 3명의 학생은 삼총사라고 합니다. 예를 들어, 5명의 학생이 있고, 각각의 정수 번호가 순서대로 -2, 3, 0, 2, -5일 때, 첫 번째, 세 번째, 네 번째 학생의 정수 번호를 더하면 0이므로 세 학생은 삼총사입니다. 또한, 두 번째, 네 번째, 다섯 번째 학생의 정수 번호를 더해도 0이므로 세 학생도 삼총사입니다. 따라서 이 경우 한국중학교에서는 두 가지 방법으로 삼총사를 만들 수 있습니다.

 

한국중학교 학생들의 번호를 나타내는 정수 배열 number가 매개변수로 주어질 때, 학생들 중 삼총사를 만들 수 있는 방법의 수를 return 하도록 solution 함수를 완성하세요.

제한사항

  • 3 ≤ number의 길이 ≤ 13
  • -1,000 ≤ number의 각 원소 ≤ 1,000
  • 서로 다른 학생의 정수 번호가 같을 수 있습니다.

입출력 예

number result
[-3, -2, -1, 0, 1, 2, 3] 5
[-1, 1, -1, 1] 0
[-2, 3, 0, 2, -5] 2

입출력 예 설명

입출력 예 #1

  • 문제 예시와 같습니다.

입출력 예 #2

  • 학생들의 정수 번호 쌍 (-3, 0, 3), (-2, 0, 2), (-1, 0, 1), (-2, -1, 3), (-3, 1, 2) 이 삼총사가 될 수 있으므로, 5를 return 합니다.

입출력 예 #3

  • 삼총사가 될 수 있는 방법이 없습니다.

나의 풀이

function solution(number) {
    var answer = 0;
    
    for(let i = 0; i < number.length -2; i++) {
        for(let j = i+ 1; j < number.length - 1; j++) {
            for(let k = j + 1; k < number.length; k++) {
                const sum = number[i] + number[j] + number[k]
                if(sum === 0) {
                    answer +=1
                }
            }
        }
    }
    
    return answer;
}

어떨땐 간단하게 생각하는게 편한 것 같다. 

반응형
저작자표시 비영리 변경금지

'알고리즘' 카테고리의 다른 글

[알고리즘] 체육복  (0) 2023.05.01
[알고리즘] 소수 만들기  (0) 2023.04.30
[알고리즘] 정수 제곱근 판별  (0) 2023.04.28
[알고리즘] 내적  (0) 2023.04.27
[알고리즘] 수박수박수박수?  (0) 2023.04.26
'알고리즘' 카테고리의 다른 글
  • [알고리즘] 체육복
  • [알고리즘] 소수 만들기
  • [알고리즘] 정수 제곱근 판별
  • [알고리즘] 내적
잉여개발자
잉여개발자
풀스택 개발자를 목표로 잉여롭게 개발 공부도 하면서 다양한 취미 생활도 즐기고 있는 잉여 개발자입니다.
  • 잉여개발자
    잉여로운 개발일지
    잉여개발자
    • 분류 전체보기 (789)
      • 개발정보 (36)
      • 개발환경 (7)
      • 개발생활 (19)
      • React (141)
        • 이론 (23)
        • 기능 (12)
        • 실험실 (88)
        • 버그 (6)
        • 패스트캠퍼스 (9)
        • Npm (3)
      • React Native (28)
        • 공통 (6)
        • TypeScript (3)
        • JavaScript (18)
        • 버그 (1)
      • Next.js (30)
        • 이론 (13)
        • 실험실 (13)
        • 버그 (3)
      • Web (35)
      • 알고리즘 (202)
        • 풀이 힌트 (39)
      • JavaScript (47)
      • TypeScript (29)
        • 기초 (27)
        • 실험실 (2)
      • Node.js (13)
        • 이론 (0)
        • 기능 (3)
        • 실험실 (9)
        • 버그 (1)
      • 도커 (4)
      • CCNA (22)
        • 이론 (4)
        • 문제 (18)
      • 취미생활 (167)
        • 잉여로운 칵테일 (2)
        • 잉여의 식물키우기 (130)
        • 잉여로운 여행기 (11)
        • 잉여의 제2외국어 (21)
        • 잉여로운 책장 (2)
      • Java (1)
        • Java의 정석 (1)
      • 꿀팁 공유 (3)
  • 태그

    알고리즘
    javascript
    덤프
    webpack
    CSS
    CCNA
    영어독학
    네트워크
    타일러영어
    바질 키우기
    Docker
    바질
    Node.js
    next.js
    프로그래머스
    영어회화
    타입스크립트
    리액트
    Babel
    리얼학습일기
    react
    네이버 부스트캠프
    식물
    ReactNative
    다이소
    자바스크립트
    ChatGPT
    typescript
    redux
    리얼클래스
  • hELLO· Designed By정상우.v4.10.1
잉여개발자
[알고리즘] 삼총사
상단으로

티스토리툴바