목록Java Note (89)
럿고의 개발 노트
[프로그래머스] 자바 중급 Part4. 날짜와 시간 1. Date 날짜와 시간을 구하기 위한 클래스로 Date 클래스는 JDK 1.0때 만들어 졌으며 Calendar클래스는 JDK 1.1때 만들어 짐. Date는 지역화 대한 부분이 고려되지 않아 Calendar 클래스가 만들어졌다. 지역화란, 지역에 따라서 시간, 통화, 언어등에 대해 고려하는 프로그래밍을 지역화에 맞춘 프로그래밍이라고 함. Date클래스를 보면 대부분의 생성자와 메소드가 Deprecated(사용중지권고)가 되어 있다. 기본 생성자를 이용한 Date클래스 생성 기본 생성자로 Date인스턴스를 만들게 되면 현재 시간과 날짜 정보를 Date인스턴스가 가지게 됨. toString() 메소드를 이용하여 현재 시간을 문자열로 구할 수 있음 jav..
[프로그래머스] 코딩테스트 연습 x만큼 간격이 있는 n개의 숫자 간략한 문제 풀이 어렵지 않았던 문제입니다. 크게 설명할 내용은 없어 보입니다. github 문제 및 풀이 문제 설명 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 제한 조건 x는 -10000000 이상, 10000000 이하인 정수입니다. n은 1000 이하인 자연수입니다. 입출력 예 x n answer 2 5 [2,4,6,8,10] 4 3 [4,8,12] -4 2 [-4, -8] import java.util.Arrays; /** * @ClassName : XInterva..
[프로그래머스] 코딩테스트 연습 행렬의 덧셈 간략한 문제 풀이 2차원 배열을 이해하기 쉬운 문제이지만, 제가 푼 코드는 조금 깔끔해보이지 않는 코드인 것 같습니다. 크게 설명할 부분은 없는 문제인 듯합니다. github 문제 및 풀이 문제 설명 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. 제한 조건 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다. 입출력 예 arr1 arr2 return [[1,2],[2,3]] [[3,4],[5,6]] [[4,6],[7,9]] [[1],[2]] [[3],[4]] [[4],[6]] i..
Chapter03. 연습문제 3-1. 다음 연산의 결과를 적으시오. public class Practice01 { public static void main(String[] args) { int x = 2; int y = 5; char c = 'A'; System.out.println(1 + x > 1과 동일하다. 따라서 결과는 6이 된다. System.out.println(y >= 5 || x 2); // y > = 5가 true이며, OR연산자이기 때문에 뒤에 조건식은 무시된다. 따라서 결과는 true System.out.println(y += 10 - x++); // 식을 풀어보면 y = y + (10 - x++)이 된다. x는 후위연산자이기 떄문에 일단 (10 -..
[프로그래머스] 코딩테스트 연습 핸드폰 번호 가리기 간략한 문제 풀이 String.substring() public String substring(int beginIndex, int endIndex) 문자열을 자르는 메소드로, 시작 위치(beginIndex)와 끝 위치(endIndex - 1)까지의 문자열을 반환합니다. beginIndex가 음수이거나, endIndex의 길이가 String객체의 length보다 크다면 IndexOutOfBoundsException이 발생 github 문제 및 풀이 문제 설명 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를..
[프로그래머스] 코딩테스트 연습 하샤드 수 간략한 문제 풀이 예전에 풀었던 자리수 더하기과 흡사합니다. 조건식 하나만 더 추가하면 끝나는 문제로, 자리수 더하기 문서를 확인해주세요. github 문제 및 풀이 문제 설명 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. 제한 조건 x는 1 이상, 10000 이하인 정수입니다. 입출력 예 arr return 10 true 12 true 11 false 13 false 입출력 예 설명 입출력 예 #1 10의 모든 자릿수의 합은 1입니다..

[프로그래머스] 자바 중급 Part3. java.util 패키지 1. java.util 패키지 유용한 클래스들을 많이 가지고 있는 패키지 Date, Calendar 클래스 : 날짜 자료구조와 관련된 컬렉션 프레임워크와 관련된 인터페이스, 클래스 deprecated란 더이상 지원하지 않으니 사용하지 않는 것이 좋다는 의미 Date클래스는 지역화를 지원하지 않는다. (지역화란 국가별로 현재 날짜와 시간은 다를 수 있는데 그 부분을 지원하지 못한다.) 위와 같은 Date 클래스의 문제를 해결하기 위해 나온 클래스가 Calendar 클래스로 자바 1.1에 등장 지역화와 관련된 클래스들은 Locale로 시작되는 이름을 가진 클래스들이며 1.1 이후 등장 List, Set, Collection, Map은 자료구조 ..
[프로그래머스] 자바 중급 Part2. java.lang 패키지 1. java.lang 패키지 / 오토박싱 자바는 기본적으로 다양한 패키지를 지원하는데, 그 중에 가장 중요한 패키지가 java.lang 패키지이다. import를 사용하지 않고도 사용 가능합니다. 기본형타입을 객체로 변환시킬때 사용하는 Wrapper 클래스가 존재합니다. Boolean, Byte, Short, Integer, Long, Float, Double 모든 클래스의 최상위 클래스(Object), 문자열(String, StringBuffer, StringBulider), 값 출력(System), 수학(Math), 쓰레드(Thread)와 관련된 중요 클래스들이 존재 오토박싱(Auto Boxing) : 기본형을 자동으로 객체형(참조형)..

[프로그래머스] 코딩테스트 연습 평균 구하기 간략한 문제 풀이 stream은 코드가 간결해지지만, 속도는 느리다는 것을 또 한번 느끼게 된다. 그래도 stream으로 작성을 해본 이유는 코딩테스트 연습은 API를 효율적으로 쓰기 위해서 하기 때문입니다. 어려운 문제가 아니기 때문에 크게 설명할 것은 없을 꺼 같습니다. for문 효울성 stream문 효율성 Stream average() 메소드 Stream안에 있는 값들의 평균을 구할 수 있는 메소드입니다. Stream getAsDouble() 메소드 값이 있다면 Double로 변환하며, 그렇지 않으면 throw NoSuchElementException을 합니다. stream 결과값을 Double로 반환해주는 메소드 입니다. github 문제 및 풀이 문제..