[TIL] Java 코딩연습 (24.01.08 - 17일차)

배고픈 배극곰·2024년 1월 9일
0

학습내용

10가치 규칙 for Happy 프로그래머

  1. 도전을 받아들여라 Embrace the challenge
  2. 실패해도 좋다. => 실패는 과정을 배우는데 필수적이다. It's okay to fail
  3. 연습만이 완벽을 만든다. Practice makes perfect
  4. 인내심을 가지자. Be patient
  5. 즐기자 Have fun
  6. 포기하지말고 계속하자 Don't give up
  7. 복잡한 문제가 보이면 쪼개라. 더 작은 문제로 나눌수있는지. Break it down
  8. 끈기를 가지자 Be persistent
  9. 스스로를 칭찬하자 Celebrate progress
  10. 호기심을 가져라 Stay curious

문제3: 시간변환기

	public class TimeConverter {
    	public static int convertHoursToMinutes(int hours) {
			if (hours < 0) {
				return -1;
            }
            
            return hours * 60;
        }
        public static int convertDaysToMinutes(int days) {
        	if (days < 0) {
            	return -1;
            }
            return days * 24 * 60;
        }
        
   }

문제5: 삼각형 유효성 확인

public class TriangleValidator {
	public boolean isValidTriangle(int angle1, int angle2, int angle3) {
    	if (angle1 <= 0 || angle2 <= 0 || angle3 <= 0) {
        	return false;
        }
        
        int sumOfAngles = angle1 + angle2 + angle3;
        return sumOfAngles == 180;
    }
}

문제6: 직각 삼각형 유효성 검사

public class TriangleValidator {
	public boolean isRightAngled(int side1, int side2, int side3) {
    	// 삼각형인지 먼저 검사
    	if (side1 <= 0 || side2 <= 0 || side3 <= 0) {
        	return false;
        }
        
        // 직각삼각형 검사
        if (side1 * side1 + side2 * side2 == side3 * side3) {
        	return true;
        }
        if (side2 * side2 + side3 * side3 == side1 * side1) {
        	return true;
        }
        if (side1 * side1 + side3 * side3 == side2 * side2) {
        	return true;
        }
        return false;
    }
}

문제: N번까지 숫자제곱의 합

public class SumOfSquares {
	public long calculateSumOfSquares(int n) {
    	if(n < 0) {
			return -1;
        }
        long sum = 0;
        
        for (int i = 1; i <= n; i++) {
            sum += i * i;
        }
        
        return sum;
   }     
}

문제: 윤년 검사기

public class LeapYearChecker {
	public boolean isLeapYear(int year) {
        if  (year <= 0) {
        	return false;
        }
        
        if (year % 4 != 0) {
        	return false;
        }
        
        if (year % 100 != 0) {
        	return true;
        }
        
        // 2048 - Yes
        if (year % 400 != 0) {
        	return false;
        }
       
        return true;
    }
}
profile
마부작침 형설지공

0개의 댓글