[self-study]알고리즘 연습문제 _ 조건문

윤성해·2023년 3월 9일
0

알고리즘

목록 보기
3/22
post-thumbnail

조건문 연습문제

1.문제
입력되는 숫자가 짝수인지 홀수인지 구별하는 함수를 만들려고 합니다.

입력된 값이 "짝수"이면 "Even", "홀수"이면 "Odd", 0이면 "Zero"라는 문구를 띄워주세요.

입력 인자 : num은 0 이상인 자연수

풀이과정
(소요시간 10분)

정답은 맞게 작성한 것 같은데, 궁금한점은
1. 나는 문제 순서대로 코드입력. Even -> Odd -> Zero 로 작성했는데 레퍼런스코드는

function evenOdd(num) {
	if (num === 0) {
		console.log("Zero");
	} else if (num % 2 === 0) {
		console.log("Even");
	} else  {
		console.log("Odd");
	}
}

위처럼 나랑 반대 순서로 작성해주었다. 이게 관련이 있는건지??

  1. 자연수 설정해주는 방법을 모르겠다. 콘솔창에 소수나 음수가 나오면 error라고 출력해주고 싶어서 아래 방법처럼 해보았는데,
  • else 옆에 조건쓰기 불가
  • 0이상이면 0.5같은 소수점은 나올 수 있음..
    이렇게 두개는 일단 잘못됬다는 것을 알겠는데
  • 1번째 사진에서 출력값이 oodd, error 둘다 나오는 이유와
  • 2번째 사진에서 num은 0보다 크거나 같다라고 위에 (나름) 설정해두었는데 -0.5 라는 출력값이 왜 odd로 나오는지 알 수 없다.!



2. 문제
입력되는 온도에 따라 문구를 띄워주는 온도계 함수를 만들려고 합니다.
입력된 값에 따라 알맞은 문구를 띄워주세요
18이하면 "조금 춥네요"
19~23이면 "날씨가 좋네요"
24이상이면 "조금 덥습니다"

입력 인자 : numdms 10~30까지의 자연수

풀이과정

  1. 위 코드로 작성했는데 출력값이 두개로 중복되는것이 있었다.
  2. 부등호의 문제같아서 아래처럼 다시작성
  3. 이번엔 다 덥다고 ^^..
  4. 페어분께 여쭤보니 내 부등호 방향이 잘못됬다 하셔서 수정했다.
  5. 위와 같이 잘 출력이 된다. 부등호 방향을 거꾸로 생각하고 풀어서 틀린 문제였음!!!

3. 문제
입력되는 달(month)에 따라 각 달에 몇 일이 있는지 보여주는 함수를 만들려고 합니다. 각 조건에 해당하는 알맞은 값을 입력해주세요.

입력인자 : month는 1~12의 숫자
주의사항 : 2월은 28일

풀이과정

처음에 or 연산자를 쓰지 않고 ,를 써서 틀렸음


4. 문제
숫자 2개와 연산자를 입력받아 알맞게 계산하는 미니계산기 함수를 만들어주세요.
num1과 num2는 숫자열, operator는 문자열로 입력됩니다.
operator "+", "/", "-", "*" 이외의 값이 들어온다면
"올바른 입력이 아닙니다"라는 문구를 띄워주세요.

풀이과정

잘 나온다! 레퍼런스 코드를 보니, 나처럼 else if로 굳이 하나씩 안써주고 그냥 else 로 적었다.

function calculator(num1, num2, operator) {
	if (operator === "+") {
		console.log(num1 + num2)
	} else if (operator === "-") {
		console.log(num1 - num2)
	} else if (operator === "*") {
		console.log(num1 * num2) 
	} else if (operator === "/") {
		console.log(num1 / num2)
	} else {
		console.log("올바른 입력이 아닙니다.")
	}
}
profile
Slow and steady wins the race.

0개의 댓글