[프로그래머스 | 파이썬 / 자바스크립트] 삼각형의 완성조건 (2)(코딩테스트 입문/ level 0)

2023. 2. 23. 08:43·Problem Solving/프로그래머스
반응형
문제

https://school.programmers.co.kr/learn/courses/30/lessons/120868?language=python3 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

🐍파이썬
def solution(sides):
    return len([i for i in range(max(sides) - min(sides) + 1, max(sides) + 1)]) + len([i for i in range(max(sides) + 1, sum(sides))])

sides = [11, 7] 인 경우 --- min(sides) = 7, max(sides) = 11  // 새로운 선분 c

1️⃣ 11이 가장 긴 선분일 경우

  • 새로운 선분 c는 11과 같거나 11보다 짧아야 한다 --- range(  ? , max(sides) + 1)
  • c + 7은 11보다 길어야 한다. --- range(max(sides) - min(sides) + 1 , max(sides) + 1)

2️⃣ 새로운 선분 c가 가장 긴 선분일 경우

  • c는 11보다 길어야 한다 --- range(max(sides),  ?  )
  • c는 7 + 11보다 작아야 한다 --- range(max(sides), sum(sides))

3️⃣ 두 리스트 원소의 갯수를 더한다.

 

 

다른 풀이 방법

def solution(sides):
    return sum(sides) - max(sides) + min(sides) - 1

def solution(sides):
    return 2 * min(sides) - 1

sides = [11, 7] 인 경우 --- min(sides) = 7, max(sides) = 11  // 새로운 선분 c

1️⃣ 11이 가장 긴 선분일 경우

  • 새로운 선분 c는 11과 같거나 11보다 짧아야 한다 (c <= 11)
  • c + 7은 11보다 길어야 한다 (c <= 11 < c+7)  == (11-7 <= c)
  • 따라서 c의 범위는 (11-7 <= c < 11), c의 갯수는 7

2️⃣ 새로운 선분 c가 가장 긴 선분일 경우

  • 위와 동일하게 c의 갯수는 7

3️⃣ 새로운 선분 c와 11의 값이 동일한 경우

  • 1️⃣, 2️⃣에서 중복 체크되었으므로 -1

프로그래머스 풀이에 달린 답글로 정리한 내용. 잘 이해는 안 간다...

출처: https://school.programmers.co.kr/learn/courses/30/lessons/120868/solution_groups?language=javascript 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

🐥자바스크립트
function solution(sides) {
    var answer = 0;
    for(let i = Math.max(...sides) - Math.min(...sides) + 1; i <= Math.max(...sides); i++){
        answer++;
    }
    for(let i = Math.max(...sides) + 1; i < sides[0] + sides[1]; i++){
        answer++;
    }
    return answer;
}

❗ Math.max(), Max.min() 메소드에 매개변수로 배열을 넣기

Math.max(), Math.min() 메소드에 매개변수로 배열을 전달할 경우, 배열 객체를 단일항목으로 인식하기 때문에 NaN이 반환된다.

const array = [7, 11];
console.log(Math.min(array)); // NaN

... 연산자를 이용하면 올바른 min, max값을 구할 수 있다.

const array = [7, 11];
console.log(Math.min(...array)); // 7

출처: https://sisiblog.tistory.com/256

 

[javascript] 자바스크립트 배열에서 최대/최소 구하는 방법 (min, max)

참고: https://stackabuse.com/javascript-get-min-and-max-element-of-array/ JavaScript를 쓰다보면 사용자에게 통계를 보여줘야 하거나 슬라이더의 경계를 설정할 경우 배열에서 최소 값과 최대 값을 알아내야 할 때

sisiblog.tistory.com

 

다른 풀이 방법

function solution(sides) {
    return Math.min(...sides)*2-1
}

파이썬의 <다른 풀이 방법> 2번과 동일

 

 

 

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'Problem Solving > 프로그래머스' 카테고리의 다른 글

[프로그래머스 | 파이썬 / 자바스크립트] 할인 행사(연습문제/ level 2)  (0) 2023.02.23
[프로그래머스 | 파이썬 / 자바스크립트] 카드 뭉치(연습문제/ level 1)  (0) 2023.02.23
[프로그래머스 | 파이썬 / 자바스크립트] 배열 뒤집기(코딩테스트 입문/ level 0)  (0) 2023.02.23
[프로그래머스 | 파이썬 / 자바스크립트] 모음제거(코딩테스트 입문/ level 0)  (0) 2023.02.22
[프로그래머스 | 파이썬 / 자바스크립트] 둘만의 암호(연습문제/ level 1)  (0) 2023.02.22
[프로그래머스 | 파이썬 / 자바스크립트] 순서쌍의 개수(코딩테스트 입문/ level 0)  (0) 2023.02.22
'Problem Solving/프로그래머스' 카테고리의 다른 글
  • [프로그래머스 | 파이썬 / 자바스크립트] 카드 뭉치(연습문제/ level 1)
  • [프로그래머스 | 파이썬 / 자바스크립트] 배열 뒤집기(코딩테스트 입문/ level 0)
  • [프로그래머스 | 파이썬 / 자바스크립트] 모음제거(코딩테스트 입문/ level 0)
  • [프로그래머스 | 파이썬 / 자바스크립트] 둘만의 암호(연습문제/ level 1)
청량리 물냉면
청량리 물냉면
프로그래밍 공부를 하고 있습니다. 공부 내용 정리 겸 정보 공유를 목적으로 합니다.
    반응형
  • 청량리 물냉면
    노력중인 블로그
    청량리 물냉면
  • 전체
    오늘
    어제
    • 분류 전체보기 (505)
      • 프로그래밍 (41)
        • Programming (1)
        • C | C++ (6)
        • Java (28)
        • Python (5)
      • 웹 프로그래밍 (108)
        • HTML | CSS (5)
        • JavaScript | TypeScript (41)
        • React (25)
        • Vue.js (0)
        • Next.js (18)
        • Spring & Spring Boot (13)
        • JSP & Servlet (1)
        • DB (4)
      • 웹 프로젝트 (77)
        • 웹 프로젝트 (22)
        • 🥨스낵몰 (3)
        • 👨‍👨‍👧‍👧소셜 가계부 (26)
        • 🌜꿈 일기장 (11)
        • 🔮포트폴리오 사이트 (11)
        • 🏃‍♂️팀 프로젝트: 일정관리 프로그램 (0)
        • 📈팀 프로젝트: AI기반 주식 분석 플랫폼 (0)
        • 😺Just Meow It: 조언 사이트 (2)
        • 📕Workly: 교대근무 다이어리 (1)
      • 앱 프로그래밍 (26)
        • Flutter (24)
        • Kotlin (2)
      • Problem Solving (166)
        • 백준 (52)
        • 프로그래머스 (79)
        • SWEA (29)
      • Computer Science (40)
        • 알고리즘 (14)
        • 컴퓨터 네트워크 (18)
        • 이산수학 (8)
      • Developer (47)
        • 후기 (4)
        • 자료정리 (4)
        • 취업 | 취준 (9)
        • SSAFY (1)
        • 웹개발 교육 프로그램 (9)
        • TIL (20)
  • 블로그 메뉴

    • 홈
    • Github
  • 공지사항

    • 프로그래밍 공부 중😊
  • 인기 글

  • 태그

    SWEA
    파이썬
    mysql
    공식문서
    알고리즘
    React
    자바스크립트
    뉴렉처
    Til
    컴퓨터네트워크
    타입스크립트
    프로그래머스
    클론 프로젝트
    프로젝트
    ZeroCho
    플러터
    자바
    bfs
    Jiraynor Programming
    강의내용정리
    블로그 제작
    Next.js
    웹사이트
    AWS
    구현
    d3
    백준
    리액트
    포트폴리오
    spring boot
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
청량리 물냉면
[프로그래머스 | 파이썬 / 자바스크립트] 삼각형의 완성조건 (2)(코딩테스트 입문/ level 0)
상단으로

티스토리툴바