BE/Java5 유클리드 호제법으로 최대공약수 최소공배수 구하기 개념 2개의 자연수 a,b에서 a를 b로 나눈 나머지를 r이라 한다면 (단 a > b), a와 b의 최대공약수는 b와 r의 최대 공약수와 같다. 이 성질에 따라 b를 r로 나눈 나머지 r`를 구하고, 다시 r을 r`으로 나눈 나머지를 구하는 과정을 반복하여 나머지가 0이 되었을 때 나누는 수가 a와 b의 최대공약수이다. 최대공약수 // a > b 일 때, int gcd(int a, int b) { while (b > 0) { int tmp = a; a = b; b = tmp % b; } return a; } 반복문을 사용하여 위와 같이 표현할 수 있다. // a > b 일 때, int gcd(int a, int b) { if (a % b == 0) { return b; } return gcd(b, a%b.. 2022. 7. 17. Math 클래스 메서드 정리 오늘은 유용하게 사용되는 Math 클래스 메서드들을 정리하려한다. sqrt() 제곱근을 구한다. int num = 16; System.out.println(Math.sqrt(num)); /* double Math.sqrt(double) 출력 결과: 4.0 */ random() 0과 1사이의 실수값을 출력한다.(0 포함) System.out.println(Math.random()); /* double Math.random() 출력 결과: 0.11231300330818705 */ abs() 절대값을 구한다. double num = -15.5; System.out.println(Math.abs(num)); /* double Math.abs(double) 출력 결과: 15.5 */ ceil() 소숫점이 있을 때.. 2022. 7. 14. String 클래스 메서드 정리 String 클래스는 참조 타입으로 여러 메서드들을 내장하고 있다. charAt() 인덱스에 위치한 문자를 반환하는 메서드이다. String text = "abcdef"; System.out.println(text.charAt(2)); /* char string.charAt(int index) 출력 결과: c */ concat() 문자열을 뒤에 결합한다. String text = "abcdef"; System.out.println(text.concat("g")); /* String String.concat(String s); 출력 결과 : abcdefg */ contains() 문자열을 포함하고 있는지 확인한다. String text = "abcdef"; System.out.println(text.con.. 2022. 7. 14. 외부 API 파싱하기 (JSON) 기업 협업 프로젝트중 농장 실사 방문 예약 기능을 만들 일이 있었다. 기업의 요구사항으로 기업측에서 하루에 한 농가만 방문할 수 있게 예약 시스템을 구현해야했다. 이에 농장 입점 신청자가 입점 3단계를 시작하면 서버에서 예약 불가능한 날짜를 return해주어야 했다. 예약 불가능한 날짜 중 주말은 자체적으로 구현할 수 있었지만, 공휴일은 자체적으로 구현하는 것이 효율적이지 않다고 생각했다. 이에 공공데이터 포털에서 제공하는 한국천문연구원_특일 정보를 활용하기로 했다. API 파싱하기 우선 공공데이터포털 사이트에 들어가 로그인 후 API 사용 신청을 해주어야한다. 사용신청을 완료하면 위와 같은 화면을 볼 수 있다. 여기서 우리는 일반 인증키(Encoding)를 복사하여 아래 코드의 '서비스키' 에 붙여넣기.. 2022. 2. 7. Lombok 어노테이션 정리 @Getter, @Setter // lombok 적용 전 public class User{ private Long seq; private String email; private String password; private String nickname; public String getSeq() { return seq; } public String getEmail() { return email; } public String getPassword() { return password; } public String getNickname() { return nickname; } public void setSeq(Long seq) { this.seq = seq; } public void setEmail(String .. 2022. 1. 15. 이전 1 다음