본문 바로가기

분류 전체보기

(186)
JAVA(2022.05.20)-java.util 패키지 java.util package - 정의하자면 utils for utilization - 유용한 클래스들을 많이 가지고 있는 패키지 ex) Date,Calender,List,Map,StringTokenizer 등 - 자료구조와 관련된 컬렉션 프레임워크와 관련된 인터페이스와 클래스 - Date 클래스는 지역화 지원X - Calendar클래스는 지역화 지원O 자세한 종류들은 더 알아보도록 하겠다 *본 게시물은 프로그래머스강의를 복습하며 작성한 글입니다.
JAVA(2022.05.19)-스트링 클래스 String class - 불변클래스이다 - 한 번 생성되면 읽기만 가능하고, 변경이 불가능하다(immutable) - 덧셈 연산자를 통해 문자열을 더할 때, 기존 내용에 추가되는 것이 아닌, 새로운 인스턴스가 만들어지는 것이다 문제점 *본 게시물은 프로그래머스강의를 복습하며 작성한 글입니다.
JAVA(2022.05.18)-Math Math - Math클래스는 이름 그대로 수학계산을 위한 클래스 - 코싸인, 싸인, 탄젠트, 절대값, 랜덤값을 구할 수 있는 클래스 - Math클래스는 생성자가 private으로 되어 있기 때문에 new 연산자를 이용하여 객체를 생성할 수 없다 - 객체를 생성할 수는 없지만 모든 메소드와 속성이 static으로 정의되어 있기 때문에 객체를 생성하지 않고도 사용할 수 있다 ex) public class MathExam { public static void main(String[] args) { int value1 = Math.max(5, 20); int value2 = Math.min(5, -5); int value3 = Math.abs(-10); double value4 = Math.random(); d..
프로그래머스<파보나치 수> if와 while문으로 문제설명 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5 와 같이 이어집니다. 2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요. 제한 사항 n은 2 이상 100,000 이하인 자연수입니다. 내가 쓴 코드 처음에는 정석적으로 ArrayList를 사용하여 코드를 작성하였다. 실행..
JAVA(2022.05.17)-StringBuffer String > 객체가 한번 생성되면 할당된 공간이 변하지 않는다. 문자열을 더할때 +나 concat은 사실 그 객체에 문자열이 추가되는 것이 아니라(immutable) 새로운 객체를 생성해 그 객체를 참고하는 것이다. 연산이 많아지게 되면 Heap메모리에 과부화가 와서 속도가 느려질 수도 있다. StringBuffer > String 자료형보다 무겁고 메모리 사용량도 많으며 느리다. 그러나 문자열이 길거나 변경 작업이 많을 때는 StringBuffer을 사용한다 코드예시 StringBuffer에서 자신의 메소드를 호출하여 자신의 값을 바꿔나가는 것을 메소드체이닝이라고 한다 *본 게시물은 프로그래머스강의를 복습하며 작성한 글입니다.
JAVA(2022.05.16)-java.lang패키지/오토박싱 - 기본적으로 지원하는 다양한 패키지들 중 가장 중요한 패키지이다 - 모든 클래스의 최상위 클래스인 Object도 java.lang패키지이다 - System,math,thread,Wrapper클래스 등 다양한 클래스들도 모두 java.lang패키지이다 코드예시 int i = 5; > 기본형 타입을 생성 Integer i2 = new Integer(5); > 객체타입의 값을 생성 오토박싱과 오토언박싱을 통해 객체타입의 값과 기본형 int가 자동을 변환되어 값을 할당할 수 있다 Integer 타입인 경우에는 필드와 method를 사용할 수 있다. 그러나 기본형 int인 경우 필드와 method 사용이 불가능하다 예시) *본 게시물은 프로그래머스강의를 복습하며 작성한 글입니다.
JAVA(2022.05.15)-Object와 오버라이딩 Object - 모든 클래스의 최상위 클래스 - 아무 것도 상속받지 않으면 자동으로 Object를 상속 - Object의 메소드는 모든 클래스에서 사용이 가능하다 종류 - equals(값 비교), toString(객체가 가진 값을 문자열로 반환), hashCode(해시코드를 구할 때) 등 코드예시 ex) 위 결과 값은 s1 != s2가 될 것이다. 비록 두 객체에 같은 값이 할당되어있긴 했어도 s1.equals(s2)라는 코드는 두 객체 자체를 비교하기 때문이다. 우리가 의도하는대로 결과를 도출해내기 위해선 오버라이딩을 하면 된다 결과 값 s1 == s2 *본 게시물은 프로그래머스강의를 복습하며 작성한 글입니다.
프로그래머스 연습문제<자릿수 더하기> 문제 : 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 내가 작성한 코드 N의 범위가 100,000,000 이하의 자연수라 if 문을 여러개 써서 자릿수 별 숫자를 더하는 방법도 있었을텐데 그거는 가독성이 매우 떨어지는 방법 같아서 고민 끝에 while문을 선택하였다. n을 10으로 먼저 나누고 나머지를 answer 값에 더하여 1의 자리 숫자 값을 answer에 넣어주었고, 그 뒤로 n을 10으로 나눈 몫을 n의 값으로 할당하여 10으로 나누고 나머지를 answer 값에 더하여 10의 자리 숫자 값을 answer에 더하고. 이런 구조를 계속 반복하여 결과적으로..