본문 바로가기
카테고리 없음

자바스크립트 알고리즘 문제풀이1

by rami_ 2021. 8. 1.

1. 세 수 중 최소 값 구하기

100 이하의 자연수 a,b,c를 입력받아 세 수중 가장 작은 값을 출력하는 프로그램 작성(정렬 사용X)

 입력 설명 : 첫번째 줄에 100이하의 세 자연수가 입력됨

 출력 설명 : 첫번째 줄에 가장 작은 수를 출력

 입력 예제 : 6 4 11

 출력 예제 : 4

 

 

도식세워보기

1.a,b,c 세 수 입력됨 -> a가 b보다 작은가? -> yes -> a가 c보다 작은가? -> yes -> 답은 a

                                                        yes-> a가 c보다 작은가? -> no -> 답은 c

                                                       no -> b는 c보다 작은가? -> yes -> 답은 b

                                                       no -> b는 c보다 작은가? -> no ->답은 c

제일처음 비교된 두 값 중 작은 값을 c와 비교해야함.

 

<script>

 function min(a,b,c){

  let answer;

  if(a<b) answer=a;

  else answer=b;

  if(answer>c) answer=c;

 return answer;

}

</script>

 

2. 삼각형 만들기

길이가 다른 세 막대 길이가 주어지면 이 막대로 삼각형을 만들 수 있으면 YES, 아니면 NO 출력

 

두 변의 길이를 합쳤을 때 한 변의 길이보다 길어야함.

a+b>c

셋 중 가장 긴 변이 뭔지 찾아야함.

a>b 일 경우 a가 길고

a<b 일 경우 b가 길고

둘중 긴것과 c랑 비교했을 때 c가 더 길면 c

a,b,c를 합친것에서 제일 긴것을 빼면 제일긴것보다 커야지 YES아니면 NO

 

<script>

function solution(a,b,c){

 let answer="YES", max;

 let tot=a+b+c; 

if (a>b) max=a;

 else max=b;

 if(max<c) max=c;

 if(tot-max<=max) answer="NO";

 return answer;

}

</script>

 

3. 학생 1인당 연필을 하나씩 나누어줄 때 N명의 학생수를 입력하면 필요한 연필의 다스 수를 계산하는 프로그램 만들기. 1다스는 12자루

 

n명 나누기 12를 해야함. 소수점이 나오면 올림을 해줘야함(+1)

 

<script>

function solution(n){

 let answer;

 answer=Math.ceil(n/12);

return answer;

}

</script>

 

4. 자연수 N이 입력되면 1부터 N까지 합을 출력하는 프로그램 만들기.

 

for문 활용