1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/120868
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
2. 나의 풀이
2-1. 어떤 삼각형 수학 공식을, 어떻게 적용해서 푸는건지 문제가 전혀 감도 잡히지 않아서
그냥 입출력 예를 보고 규칙 찾아서 멋대로 풀었는데 통과가 됐다.... 이게 왜 돼...?
function solution(sides) {
var answer = 0;
let maxSide = sides[0];
let minSide = sides[1];
if(sides[0] < sides[1]) {
maxSide = sides[1];
minSide = sides[0];
}
answerMax = minSide;
answerMin = minSide-1;
answer = answerMax + answerMin;
return answer;
}
2-2. 리팩토링
function solution(sides) {
var answer = 0;
let minSide = sides[0] < sides[1] ? sides[0] : sides[1];
answer = minSide + minSide - 1 ;
return answer;
}
3. 다른 사람 풀이
내림차순 정렬해서 최대값 사용
function solution(sides) {
sides.sort((a,b) => b - a);
return sides[1] + sides[1] -1;
}
4. 배운 점
최대값, 최소값 찾기
let numMax = Math.max(...sides);
let numMin = Math.min(...sides);
'알고리즘, CS' 카테고리의 다른 글
리액트 기초과정 CS (0) | 2023.06.14 |
---|---|
[프로그래머스 Lv. 0] 중복된 문자 제거 (0) | 2023.06.14 |
[프로그래머스 Lv. 0] 구슬을 나누는 경우의 수 (0) | 2023.06.12 |
[프로그래머스 Lv. 0] 문자열 계산하기 (0) | 2023.06.09 |
[프로그래머스 Lv. 0] 잘라서 배열로 저장하기 (0) | 2023.06.08 |