반응형

자바 24

[JAVA] 예산

문제설명 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다. 물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000원보다 적은 금액을 지원해 줄 수는 없습니다. 부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하도록 solution 함수를 완성해주세요. [제한사항] d는 부서별로 신청한..

[JAVA] 나누어 떨어지는 숫자 배열

문제 설명 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. [제한사항] arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다. [입출력 예] arr divisor return [5, 9, 7, 10] 5 [5, 10] [2, 36, 1, 3] 1 [1, 2, 3, 36] [3,2,6] 10 [-1] 코드 처음에는 if(divisor == 1){ Arrays.sort(arr); return ..

[JAVA] 신규 아이디 추천

문제 설명 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램을 개발하는 것입니다. 다음은 카카오 아이디의 규칙입니다. 아이디의 길이는 3자 이상 15자 이하여야 합니다. 아이디는 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.) 문자만 사용할 수 있습니다. 단, 마침표(.)는 처음과 끝에 사용할 수 없으며 또한 연속으로 사용할 수 없습니다. "네오"는 다음과 같이 7단계의 순차적인 처리 과정을 통해 신규 유저가 입력한 아이..

[JAVA] 문자열 다루기 기본

문제 설명 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. [제한 사항] s는 길이 1 이상, 길이 8 이하인 문자열입니다. [입출력 예] s return "a234" false "1234" true 코드 public boolean solution(String s) { boolean answer = s.matches(".*[^0-9].*"); answer = answer == true ? false : true; if(s.length()!=4 && s.length()!=6){ answer = false; } return answer; } 정규식 이용..

[JAVA] 정수 내림차순으로 배치하기

문제 설명 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. [제한 조건] n은 1이상 8000000000 이하인 자연수입니다. [입출력 예] n return 118372 873211 코드 import java.util.Arrays; import java.util.Collections; public static long solution(long n) { String[] str = String.valueOf(n).split(""); Long[] number = new Long[str.length]; for (int i = 0; i < str.length; i++)..

[JAVA] 정수 제곱근 판별

문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 제한 사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. 입출력 예 n return 121 144 3 -1 코드 import java.text.DecimalFormat; class Solution { public long solution(long n) { long answer = 0; String result = new DecimalFormat("#.##").format(Math.sqrt(n)); boolean ox = result.matches("-?\..

[JAVA] 페이징 처리 방법

Paging1 전통적인 페이징 처리 방법 private int page; //현재 페이지 번호 private int start, end; //시작, 끝 페이지 private boolean prev, next; //이전, 다음 private int total; //전체 데이터의 수 public Paging(int page, int total) { this.page = page; this.total = total; //주소창에 음수 값을 입력했을 때 제대로 나오도록 하는 식 page = page total ? (int)(Math.ceil(total/10.0)):page; System.out.println("page: "+page); //그 장의 마지막 페이지 int tempEnd = (int)(Math.ce..

JAVA_기초 공부 2023.02.21

[JAVA] Comparable / Comparator

Comparable java.lang 기본 정렬기준을 구현하는데 사용한다. 주로 Integer와 같은 warpper클래스와 String, Date, File과 같은 것... 기본적으로 오름차순으로 정렬되도록 구현되어 있다 public int compareTo(T o) public final class Integer extends Number implements Comparable Comparator java.util 기본 정렬기준 외에 다른 기준으로 정렬하고자할 때 사용한다. public int compare(T o1, T o2) public boolean equals(Object obj) ----> Comparable과 Comparator는 인터페이스(interface)로, 객체을 정렬하는데 필요한 메..

JAVA_기초 공부 2023.02.19

[JAVA] DAO 와 DTO

DAO(Data Access Object) 데이터베이스의 데이터에 접근하여 데이터의 조회 및 조작하는 기능을 전담하는 오브젝트로, DB에 접속하여 데이터의 CRUD(생성, 읽기, 갱신, 삭제) 작업을 시행하는 클래스 데이터베이스에 접근하기 위한 로직(DAO)과 비즈니스 로직(Service)을 분리하기 위해 사용한다. 코드의 간결화 및 모듈화, 유지보수 등을 위해 DAO 클래스를 사용한다. DTO(Data Transfer Object) 계층 간 데이터 교환을 위한 객체(Java Beans)로 DB에서 데이터를 얻어 Service나 Controller 등으터 보낼 때 사용하는 객체 DTO는 VO(Value Object)와 용어를 혼용해서 많이 사용하는데, VO는 읽기만 가능한 read only 속성을 가져,..

JAVA_기초 공부 2023.02.17

서블릿(Servlet)

서블릿이란 Dynamic Web Page를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술로, 웹 요청과 응답의 흐름을 간단한 메서드 호출만으로 체계적으로 다룰 수 있게 해준다. @WebServlet(name = "helloServlet", value = "/hello-servlet") public class HelloServlet extends HttpServlet { private String message; public void init() { message = "Hello World!"; } public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { response.se..

반응형