본문 바로가기

전체 글223

[Java] String, StringBuffer, StringBuilder 클래스 String클래스 String클래스란 String클래스는 문자열을 저장하고 이를 다루는 필요한 메서드를 함께 제공한다. 변경 불가능한(immutable) 클래스 String클래스에는 인스턴스 생성 시 생성자의 매개변수로 입력받는 문자열은 이 인스턴스변수(char[] value)에 문자형 배열로 저장된다. 한번 생성된 String인스턴스가 갖고 있는 문자열은 읽어 올 수만 있고, 변경할 수는 없다. '+'연산자를 이용해 문자열을 결합하는 경우 새로운 String인스턴스가 생성되는 것이다. 즉, 결합할때마다 메모리공간을 차지하게 되므로 이러한 작업을 할때는 StringBuffer클래스를 이용하는 것이 좋다. 문자열의 비교 문자열을 만들 때는 두가지 방법이 있다. 문자열 리터럴을 지정하는 방법 String생성.. 2022. 3. 7.
[Java] Object 클래스 Object클래스란 Object클래스는 모든 클래스의 최고 조상이다. 그래서 Object클래스의 멤버들은 모든 클래스에서 바로 사용 가능하다. Object클래스의 메서드 메서드 설 명 protected Object clone() 객체 자신의 복사본을 반환 public boolean equals(Object obj) 객체 자신과 객체 obj가 같은 객체인지 알려준다.(같으면 true) protected void finalize() 객체가 소멸될 때 가비지 컬렉터에 의해 자동적으로 호출. 이 때 수행되어야하는 코드가 있을 때 오버라이딩한다(거의 사용안함) public Class getClass() 객체 자신의 클래스 정보를 담고 있는 Class인스턴스를 반환 public int hashCode() 객체 자신.. 2022. 3. 7.
[알고리즘 문제풀이] 프로그래머스 - 기능개발 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr /** 1. queue에 작업 퍼센트와 속도를 객체로 큐에 넣기 2. 하루 지날때마다 전체 객체의 속도에 따라 작업 퍼센트 증가 3. 만약 첫번째 원소가 100퍼를 넘거나 같으면, 큐를 돌면서 100퍼 넘은건 다 같이 빼내기 4. 개수 체크하여 정답리스트에 담기 5. 2~4번 반복하여 정답리스트 구하기 6. 정답리스트 배열로 반환 **/ import ja.. 2022. 3. 7.
[알고리즘 문제풀이] 프로그래머스 - 더 맵게 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 우선순위 큐 사용 풀이 /** 1. 우선순위 큐로 음식을 넣고, 2. 큐의 사이즈가 2이상이면서 가장 앞의 원소가 k보다 적을 때 2개를 빼서 더해서 넣기 2-1) 첫번째 원소 + 두번째원소*2 3. 큐의 맨 앞의 원소가 k보다 같거나 크면 섞은 횟수 반환 4. 불가능하면 -1 반환 **/ import java.util.*; class Solutio.. 2022. 3. 7.
[Java] 예외처리(exception handling), 에러와 예외의 차이 프로그램 오류(에러의 종류, 에러와 예외) 프로그램 실행 중 오작동을 일으키거나 비정상적인 종료가 일어나게 하는 원인을 프로그램 에러 또는 오류라고 한다. 발생시점에 따라 에러를 구분할 수 있다. 컴파일 에러(compile-time error): 컴파일 시에 발생하는 에러 런타임 에러(runtime error): 실행 시에 발생하는 에러 논리적 에러(logical error): 실행은 되지만, 의도와 다르게 동작하는 것 컴파일 에러는 소스코드(*.java)에 대해 오타나 잘못된 구문, 자료형 체크 등의 기본적인 검사에서 오류가 있을 때에 발생한다. 컴파일이 잘 수행되고 클래스파일을 생성하여 실행하였다고 해도 프로그램 실행 시에 동작을 멈춘 상태로 오랜 시간 지속되거나, 갑자기 프로그램이 실행을 멈추고 종.. 2022. 3. 6.
[알고리즘 문제풀이] 프로그래머스 - 프렌즈4블록 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/17679 코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록". 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙 programmers.co.kr /** 1. 0,0부터 맵의 범위를 전체 확인(30*30) 2. 2*2블록이 전부 같은 블록인지 확인하고, 다 같다면 지워질 블록으로 별도 체크 2-1) boolean 변수로 같은지 체크 3. 맵 전체 확인 후 체크해놨던 지워질 블록 지우기 4. 지워진 맵에서 아래부터 공간 채우기 5. 1번부터 4번까지 반복하여 변경되는게 없을 때 지워진.. 2022. 3. 6.