전체 글 썸네일형 리스트형 [Java] String 문자열 자르기 1. substring - index를 이용해 문자열을 자른다. 2. split - 특정 문자를 기준으로 문자열을 잘라 배열에 넣는다. 더보기 [Java] Arrays.asList() - 일반 배열을 ArrayList로 변환할 때 사용한다. - java.util.ArrayList 클래스와는 다른 클래스이다. - ArrayList : contains, add 등 메서드를 가지고 있다. -> 사이즈 변경 가능! - Arrays는 원소 추가 메서드가 없다 -> 사이즈 변경 불가! [ List (asList()로 만든 List객체) ] lst에 담겨있는 두번째 인덱스 데이터를 수정했는데 원본 배열의 데이터까지 변경이 되었다. List는 내부 구조가 배열로 만들어져있다. asList()를 사용해 List를 반환해도 배열을 가지게 된다. 이때, asList()로 만들어진 List객체는 새로운 배열 객체를 만드는 것이 아니라 원본 배열의 주소값을 가지고온다. 따라서 asList()로 내용을 수정하.. 더보기 [Java] add()와 addAll()의 차이 1. ArrayList란? - 단순 배열은 객체 생성시 사이즈를 지정하지만, ArrayList는 사이즈의 제한이 없다 (동적 데이터 구조) - 배열과 같이 순서를 가진다 -> 출력시 index를 사용한다. - 데이터를 추가할 때 add()와 addAll()이 있다. 2. add() - 연결리스트에서 맨 뒤에 새 노드를 연결시키는 것과 같다. -> 뒤쪽으로 데이터가 쌓이고, 순서를 가진다. 3. addAll() - ArrayList에 다른 ArrayList의 데이터를 통째로 붙이기 위한 메서드이다. - 인자로 Collection 객체를 받고 그 Collection에 있는 아이템들을 리스트에 모두 추가한다. 더보기 [Java] String에서 ArrayList로 만들기 [ 방법1 ] - car이라는 ArrayList를 만들어놓고 carInput(String)을 String배열로 변환한다. - for문을 돌면서 String배열 값을 하나씩 ArrayList에 넣는다 * IntelliJ에서 Iteration can be replaced with bulk 'Collection.addAll' -> more action으로 변경([방법2]) [ 방법2 ] - for문 돌리지 않고 addAll로 작성 * 'addAll()' call can be replaced with parametrized constructor call 뜬다 -> more action하면 [방법3] [ 방법3 ] [ 더 알아봐야하는 것 ] 1. add()와 addAll()의 차이 (gayoung78.tistor.. 더보기 [JAVA] final은 언제 사용하는 것일까 final은 무엇인가? - final은 엔티티를 한번만 할당하는 것. 두 번 이상 할당하려하면 컴파일 오류가 발생한다. Final Classes Final Methods Final Variables Final 사용 경우 - 함수에 대한 final은 상속하면 절대 안되는 경우에 정의한다. - Override로 인한 실수를 최소화 하고 버그를 줄이기 위해 선언한다. Final 필드의 초기값 주는 방법 1. 필드 선언시 준다 (ex. Final Variables처럼) 2. 생성자를 통해서 주는 방법 - 복잡한 초기화 코드가 필요할 때 - 객체 생성 시에 외부 데이터로 초기화시켜야한다면 더보기 [programmers] 땅따먹기 로직 - 계속 더해가면서 최대값을 찾는다. 이때, 바로 아래에 있는 값은 사용하지 못한다. - 위 -> 아래 가려면 아래 값을 "val = 아래값" 으로 지정해두고나서 더하면서 max값을 찾아야한다. - 아래 -> 위 가면 그냥 최대값을 찾으면 됨. 이때, 바로 위의 값을 제외한 리스트의 max값을 찾는다. 코드 주의할 점 1. DP사용하기! 더보기 [programmers] 가장 긴 팰린드롬 로직 [방법1] 1. 팰린드롬 확인하는 함수 만들기 : 결과값은 문자열 갯수 2. i는 문자열 처음부터, j는 문자열 끝에서부터 진행해서 최대값 구하기 -> 끝에서부터 진행하려면 팰린드롬 결과가 True이면 cnt = 팰린드롬 문자열갯수 [방법2] 1. 팰린드롬 확인하는 함수 만들기 : 결과값은 [True, 문자열 갯수] or [False, 0] 2. i는 문자열 처음부터, j는 문자열 끝에서부터 진행해서 최대값 구하기 -> 끝에서부터 진행하려면 팰린드롬 결과가 True이면 cnt = 팰린드롬 문자열갯수 => 큰 값부터 나올거기때문에 더 적게 계산 코드 [방법1] [방법2] 결과 [방법1] [방법2] 확실히 2번 방법이 빠르다!! 더보기 [programmers] 등굣길 로직 이 그림을 그대로 DP를 이용해 구현한다고 생각하자. 이 문제에서 puddles가 (행, 열)이 아닌 (열, 행)으로 나와있다. 이것을 조심하자!! 코드 주의할 점 1. bfs로 구현했지만, 8번 테케 시간초과 + 효율성 통과율 0%... 2. DP를 이용해서 기존에 있는 값을 활용해서 최종 값을 구한다. 더보기 이전 1 2 3 4 5 6 7 8 ··· 12 다음