[알고리즘] 삼총사

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)
  • 태그

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

티스토리툴바