인텔리제이 한글 깨짐. Unsupported characters for the charset 'ISO-8859-1'
·
TIL/트러블슈팅
배경김영한 강사님의 스프링 MVC 2편 오류코드와 메시지 처리 부분을 수강하던 중, errors.properties 파일을 통해서 에러 메시지 코드화하여 사용하는 방법에 대해서 학습하고 있었다. 문제인텔리제이 상에서 다음과 같은 문구 발생Unsupported characters for the charset 'ISO-8859-1'   FieldError 를 통해서 해당 오류 메시지를 코드화하여 뷰 템플릿에 넘겨주어 출력해주어야 하는데 화면에서 한글이 깨지는 문제 발생 해결참고한 블로그 : https://da-nyee.github.io/posts/intellij-console-encoding-issue/ [IntelliJ] 콘솔 한글 깨짐 (Console Encoding Issue)Introductionda..
[Java] LinkedList - 컬렉션 프레임워크
·
TIL/Java
들어가면서ArrayList는 내부에 배열을 활용하여 리스트를 구현하는 자료구조였다.따라서 ArrayList는 배열이 갖고 있는 단점을 그대로 갖고 있다.크기를 동적으로 변경할 수 없다데이터의 삭제 / 삽입시에 성능이 좋지 않다노드와 연결딱 필요한 만큼만 크기를 갖고, 데이터를 중간에 삭제 / 삽입할 때 효율적인 자료구조가 존재한다바로 노드를 만들어서 서로 연결하는 방식이다 노드 클래스public class Node{ Object item; Node next;} 노드에 데이터 추가  Node 인스턴스는 item와 next를 저장하고 있다.item은 데이터를 의미하고, next는 다음 노드의 참조값을 저장하게 된다따라서 Node1의 참조값을 Node0의 next가 저장하고 있다면 두 노드가 연결된 것 처럼 ..
[Java] ArrayList - 컬렉션 프레임워크
·
TIL/Java
배열가장 기본적인 자료 구조인 배열에 대해서 먼저 알아보자.배열의 특징 ( 인덱스 )인덱스를 활용하면 매우 빠르게 데이터에 접근이 가능하다인덱스를 통한 입력, 변경, 조회의 경우 단 한 번의 연산으로 원하는 위치에 도달할 수 있다.배열의 인덱스배열은 물리 메모리상에 순서대로 붙어서 선언된다따라서 해당 배열이 저장하고 있는 자료형에 따라서 다음과 같은 연산이 가능하다배열의 시작 위치 + 자료의 크기 * 인덱스 크기즉, 배열의 크기와 무관하게 한 번의 연산으로 원하는 위치를 찾을 수 있게 된다따라서 배열의 인덱스를 활용하는 연산이 매우 빠르게 된다배열의 한계배열은 생성하는 시점에 그 크기를 한 번만 정할 수 있고, 이후 수정할 수 없다배열의 특정 위치에 값을 추가/삭제하기 위해서는 해당 인덱스로부터 뒤에 있..
[Java] 제네릭 개요
·
TIL/Java
제네릭이 필요한 이유간단하게 Integer를 담을 수 있는 클래스를 생성해보자public class IntegerBox { private Integer value; public Integer getValue() { return value; } public void setValue(Integer value) { this.value = value; }} 마찬가지로 String을 담을 수 있는 StringBox를 만들고 싶다면, 동일한 코드에서 타입만 Integer에서 String으로 바꾸면 된다.그런데 만약 또 다른 타입을 담아야 하는 Box를 여러 개 작성해야한다면? 코드에서 바뀌는 부분은 타입밖에 없는데 클래스는 매번 새로 작성해야 한다.코드의 재사용성..
[프로그래머스] 베스트앨범 - 자바
·
TIL/알고리즘
문제 설명  문제 풀이먼저 장르별로 노래를 분류해야하므로 해시맵을 활용하면 좋을 것 같다는 생각이 들었다.장르 내에서 노래의 재생횟수를 기준으로 내림차순, 고유번호를 기준으로 오름차순하여 정렬해야 하기 때문에 우선순위 큐를 통해서 노래의 고유번호를 저장하게 되면 매번 정렬하지 않아도 된다.따라서 해시맵의 키는 장르의 이름, 해시맵의 밸류는 각 음악의 고유번호를 저장하는 우선순위 큐를 선언하여 장르별 노래 리스트를 먼저 선언해보자.입출력 예를 해시맵에 넣게 되면 다음과 같은 형태가 될 것이다classic - 3, 0, 2pop - 4, 1각 장르별로 총 재생횟수를 해시맵을 통해서 구한다classic - 1900pop - 3100해시맵의 밸류를 기준으로 하여 장르명을 내림차순 정렬하도록 하기 위해서 해시맵의..
[프로그래머스] 소수 찾기 - 자바
·
TIL/알고리즘
문제 설명 문제 풀이String으로 주어진 숫자의 각 자리를 종이 조각으로 생각하고, 가능한 모든 숫자를 만들어서 소수인지 판별한다.이 때, 모든 종이 조각을 활용해서 숫자를 만들 필요는 없고, 일부만 활용해도 된다주어진 종이 조각을 활용하여 가능한 모든 숫자를 만드는 방법은 DFS를 활용할 수 있다이 때 수를 저장하는 자료구조를 HashSet으로 하게 되면 11, 011과 같이 중복되는 숫자를 제거할 수 있을 것이다DFS 방식만약 현재 인자가 "" 비어있는 문자열이 아니라면, set에 추가한다모든 종이 조각에 대하여 순회하면서, 각 종이 조각을 사용하지 않았다면 해당 종이 조각을 사용했다고 표시하고, 현재 문자열에 해당 종이 조각의 값을 이어붙여준 값을 DFS로 전달한다DFS에서 돌아왔다면 해당 종이 ..