세 수 중 최솟값(정렬 이용x)
나의 풀이 1
function solution(a, b, c) {
let answer;
if (a > b && a > c) {
if (b > c) {
answer = c;
} else {
answer = b;
}
} else if (b > a && b > c) {
if (a > c) {
answer = c;
} else {
answer = a;
}
} else {
if (a > b) {
answer = b;
} else {
answer = a;
}
}
return answer;
}
console.log(solution(2, 5, 1));
원하는대로 잘 동작하는 코드이다.
하지만 '가장 작은 수'를 찾는건데, 1, 2번째 수도 구별하도록 하여 좋지 않은 코드이다.
나의 풀이 2
function solution(a, b, c) {
let answer;
if (a < b && a < c) {
answer = a;
} else if (b < a && b < c) {
answer = b;
} else if (c < a && c < b) {
answer = c;
} else {
answer = a;
}
return answer;
}
console.log(solution(2, 5, 1));
위 코드보단 간결해졌다.
그저 한 문자가 다른 문자들보다 작기만하면 최솟값이도록 설정했다.
강사 풀이
function solution(a, b, c) {
let answer;
if (a < b) {
answer = a;
} else {
answer = b;
}
if (c < answer) {
answer = c;
}
return answer;
}
console.log(solution(2, 5, 1));
먼저 1, 2번째 매개변수를 비교해서 최솟값을 구한 뒤,
3번째 매개변수와 비교하는 방법이다.
'코딩테스트 문제풀이 > inflearn' 카테고리의 다른 글
[인프런] Node.js / 섹션1 - 기본문제 풀이 / 6. 홀수 (feat. for...of) (0) | 2022.07.24 |
---|---|
[인프런] Node.js / 섹션1 - 기본문제 풀이 / 5. 최솟값 구하기 (feat. Math, 전개구문/apply) (0) | 2022.07.24 |
[인프런] Node.js / 섹션1 - 기본문제 풀이 / 4. 1부터 N까지의 합 (0) | 2022.07.24 |
[인프런] Node.js / 섹션1 - 기본문제 풀이 / 3. 연필 개수 (0) | 2022.07.24 |
[인프런] Node.js / 섹션1 - 기본문제 풀이 / 2. 삼각형 판별 (0) | 2022.07.24 |