알고리즘(with TS)

알고리즘 풀이 1)1-5번

S_sunny 2023. 1. 12. 16:41

 

자바스크립트 감을 잃지 않기 위해 스터디원들과 함께 풀어가는 알고리즘 문제!

..는 너무 간만에 풀어서 벌써 개념들이 가물가물 해졌다. 열심히 되찾아야지

 
 
1. 세 수 중 최솟값
 
function solution(a, b, c){
  let answer;
  answer = Math.min(a,b,c)
  return answer;
}
console.log(solution(6, 5, 11));

//---강의 풀이---
// 메서드 사용 없이 if문 활용
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(6, 5, 11));

정렬을 할 수 없다면 최솟값 함수 써버리지 뭐~ 했는데

강의에서의 의도는 if문을 잘 활용해보도록 머리를 굴려보도록 하는 거였다.

 
2. 삼각형 판별하기
 
function solution(a, b, c){
  let answer;
  if(Math.max(a,b,c)>a+b+c-Math.max(a,b,c)){
    answer="YES";
  }else{
    answer="NO";
  }
  return answer;
}
console.log(solution(6, 7, 11));

 

3. 연필개수
 
function solution(N){
  let answer;
  answer = Math.ceil(N/12)
  return answer;
}
console.log(solution(25));

 

4. 1부터 N까지 합 출력하기
function solution(N){
  let answer=0;
  for(let i=0; i<=N; i++){
    answer += i;
  }
  return answer;
}
console.log(solution(6));

//----수학공식 적용풀이----
function solution(a) {
  return (a * (a + 1)) / 2;
}

console.log(solution(10));

당연히 for문 돌려서 풀었는데 같이 공부하는 팀원이 몇일 뒤에 더 간단한 수학공식을 공유해줬다.

맞아...학교다닐때 저런 공식 봤던거같네...허헣🙃

 

5. 최솟값 구하기
 
function solution1(a, b, c, d, e, f, g){
  let answer=Math.min(a, b, c, d, e, f, g)
  return answer;
}
console.log(solution1(5, 3, 7, 11, 2, 15, 17));

// ----------입력받기 고려--------
function solution2(str){
  let answer; 
  let sevenArr = str.split(" ");
  answer=Math.min(...sevenArr)
  return answer;
}
console.log(solution2('5 3 7 11 2 15 17'));

생각해보니까 첫번째 줄에 ~개의 숫자 입력받기 이런 코테문제는

입력받는 코드도 작성해주었던게 생각나서 soultion2로 작성!