java 20

[Java] PrintWriter 사용 시 한글 깨짐 현상 해결방법

java코드에서 PrintWriter를 사용하여 alert문을 실행하니 다음과 같이 한글이 깨지는 현상이 발생하였다. 해결 방법은 간단하게 PrintWriter 객체 생성 전에 다음 두 코드를 입력해주면 된다. response.setCharacterEncoding("UTF-8"); response.setContentType("text/html; charset=UTF-8"); 위 코드를 추가해준 후 다시 재 실행하면 정상적으로 한글이 보이는 것을 확인할 수 있다.

언어/Java 2019.10.03

안드로이드 공부방향

원래 방학때는 스프링 프로젝트를 할 생각이었지만, 공모전 준비로 안드로이드 공부를 갑작스럽게 시작하게 되었다. 어차피 2학기에도 졸업작품 때문에 안드로이드를 공부해야하는 상황이었으므로 어차피 하는거 집중해서 빠르게 끝내는것을 목표로 두고 매일 공부할 계획이다. 참고 인강은 아래와 같다. https://www.youtube.com/watch?v=epFRtZ17yow&list=PLva6rQOdsvQXdSBN1r2mEt_tqES6NjKKj&index=1

[JAVA/백준1110] 더하기 사이클

1. 문제 2. 풀이 사이클의 횟수를 구하는 getCycle()을 호출하는데 여기서 원래 수로 돌아올 때 까지 연산이 반복되므로 각각의 조건에 나누어 재귀로 함수를 호출하고 사이클의 횟수를 저장하는 변수count의 값을 하나씩 증가해주었다. 연산은 정수n이 주어졌을때 10의 자리수와 1의 자리수를 더해준 후, 원래 n의 오른쪽 자리 수와 이어붙어주어야 하므로 string클래스의 내장 함수를 사용하는것이 편할것 같다는 생각이 들어서 문자열로 입력받았다. n이 00일 경우 ~ 1번만 연산을 해주면 되므로 바로 리턴 n이 0~9일 경우 ~ 예를 들어 n=9일 때, 09→0+9=09이므로 이어 붙이면 다음 n은 99가 된다. 즉, n을 두번 이어 붙이면 된다. n이 두자리 수인 경우 ~ 변수tmp에 n의 각 자..

[JAVA/백준9012] 괄호 - 스택

문제 풀이 테스트케이스만큼 문자열을 입력받는데, 이때 한번 입력받을때 괄호검사를 하는 함수를 호출한다. 괄호검사를 하는 함수 isCorrect()는 호출될때마다 스택을 새로 생성한다. 문자열의 길이만큼 검사를 해주는데, 이때 스택이 비었을 경우에는 문자열의 i번째 문자를 스택에 넣어준다. 스택이 비어있지 않으면 스택의 가장 위(peek())와 i번째 문자를 비교해준다. 이때 주의할점은 처음에 단순히 (와 ), 또는 )와 (처럼 괄호가 같지 않으면 pop이 되도록 해주었는데 괄호가 닫히는 모양은 스택의 top은 항상 '('이어야 하고 스택에 넣을 문자는 항상 ')'이어야 한다. 이점만 유의하고, 스택클래스를 사용한적이 있다면 삽질하지 않고 빠르게 풀 수 있을 문제였다 ㅠㅠ 소스코드 import java.u..

[JAVA/자료구조] 컬렉션 프레임 워크(Collections Framework)

컬렉션 프레임 워크(Collection Framework)이란? = 컬렉션(Collection)은 다수의 데이터, 즉 데이터 그룹을, 프레임워크(Frameworkd)은 표준화된 프로그래밍 방식 = 데이터군을 저장하는 클래스들을 표준화한 설계 = 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합 = 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것 컬렉션 프레임워크의 주요 인터페이스 3가지 컬렉션 프레임워크에서는 데이터를 저장하는 자료구조에 따라 다음의 3개의 인터페이스를 정의하였다. 그리고 List와 Set의 공통된 부분을 다시 뽑아서 새로운 인터페이스인 Collection을 추가로 정의하였다. 인터페이스간의 상속 관계는 ..

자료구조 2019.06.08

[JAA/자료구조] List와 Array차이

Reference https://wayhome25.github.io/cs/2017/04/17/cs-18-1/ 불러오는 중입니다... https://programmers.co.kr/learn/courses/17/lessons/803 자바로 배우는 자료구조(with 생활코딩) - 리스트(List)의 개념 | 프로그래머스 리스트(List)의 개념 배열은 데이터를 그룹핑해서 다수의 데이터를 효율적으로 관리하는 데이터 스트럭쳐입니다. 배열의 가장 큰 특징은 인덱스가 있다는 점이지요. 이 인덱스는 데이터를 매우 빠르게 가져옵니다. 하지만 인덱스를 써 데이터를 가져오려면 각 데이터의 인덱스 값이 고정되어야 합니다. 또 어떤 엘리먼트를 삭제하면 삭제된 데이터가 있던 자리는 비워둬야 해 메모리가 낭비됩니다. 또 배열에 ..

자료구조 2019.06.08

[JAVA/자료구조] 큐(Queue)

큐란? 큐는 먼저 들어온 데이터가 먼저 나가는 구조로, 선입 선출(FIFO:First-Int First-Out)이라고 한다. 큐는 뒤에서 새로운 데이터가 추가되고 앞에서 데이터가 하나씩 삭제되는 구조를 가지고 있다. 큐의 구조 - 전단(front): 큐에서 삭제가 일어나는 곳 - 후단(rear): 큐에서 삽입이 일어나는 곳 큐의 연산 - create(): 큐를 생성한다. - init(): 큐를 초기화한다. - is_empty(q): 큐가 비어 있는지를 검사한다. - is_full(q): 큐가 가득 찼는지를 검사한다. - enqueue(q, e): 큐의 뒤에 요소를 추가한다. - dequeue(q): 큐의 앞에 있는 요소를 반환한 다음 삭제한다. - peek(q): 큐에서 삭제하지 않고 앞에 있는 요소를 ..

자료구조 2019.06.06

[JAVA/백준1003] 피보나치 함수 DP

1. 문제 2. 풀이 위 문제는 DP를 사용하지 않고 풀면 시간초과가 발생한다. 그래서 처음에는 메모이제이션으로 구현하려고 했지만, 예를 들어 이미 계산되어 메모제이션 배열에 저장되어 있는 경우에 0과 1을 어떻게 출력해야할지 고민하는데 시간이 많이 걸려서 결국 구글링을 해서 점화식을 세워 해결하였다. 점화식은 n=1일때부터 0과 1이 몇번 출력되는지를 세워보면 규칙을 찾아낼 수가 있다. n 0호출 1호출 0 1 0 1 0 1 2 1 1 3 1 2 4 2 3 n이 행(i)이고 0호출했을때와 1호출했을때를 열(j)이라고 하여 점화식을 세우면 다음과 같다. f[i][j] = f[i-2][j] + f[i-1][j] i=0, i=1인 경우에는 미리 초기화해둔다. 3. 소스코드 import java.util.Sc..

[JAVA/백준10828] 스택

1. 문제 2. 풀이 자바 Collections클래스를 사용하여 스택을 구현하였다. 명령어 push 3은 문자열 push,공백,숫자 로 이루어진 문자열이므로 명령을 입력했을때 공백이 있을 경우, push명령을 처리하도록 해주었고 다른 명령어들은 switch문을 사용하였다. 이 때, stack.empty()에서 기본으로 제공하는 것은 true, false인데 문제에서 요구하는 것은 1,0이므로 함수를 수정해주었다. 스택의 기본 개념만 이해한다면 쉽게 풀 수 있는 문제였다. 3. 소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Stack; public class Main { public static v..