728x90
반응형
SMALL

자바 53

[디자인패턴] 자바빈즈 패턴 (JavaBeans Pattern)

[디자인패턴] 자바빈즈 패턴 (JavaBeans Pattern)            개요객체 생성 방식에서 필드가 많을 때의 문제를 해결하기 위한 방법 3가지 (패턴 하나씩 포스팅 진행)      1. 생성자에 필드가 적다면? => 점층적 생성자 패턴      2. 필드가 많고, 대부분의 필드가 선택적이면?  => 자바 빈즈 패턴      3. 필드가 많고, 대부분의 필드가 필수적이면?  => 빌더 패턴       하나씩 재미있게 읽어보실 수 있도록 깔끔한 스토리텔링식으로 작성해보겠습니다~    한눈에 보는 패턴별 장단점    자바빈즈 패턴 개념두번째 디자인 패턴은 자바빈즈 패턴입니다.유연해야 하는 로직에서 자주 사용됩니다.ex. User 객체를 생성하고, 나중에 상황에 따라 address, phoneN..

IT/java|Spring 2024.10.25

[디자인패턴] 점층적 생성자 패턴 (Telescoping Constructor Pattern)

[디자인패턴] 점층적 생성자 패턴 (Telescoping Constructor Pattern)            개요 객체 생성 방식에서 필드가 많을 때의 문제를 해결하기 위한 방법 3가지 (패턴 하나씩 포스팅 진행)      1. 생성자에 필드가 적다면? => 점층적 생성자 패턴      2. 필드가 많고, 대부분의 필드가 선택적이면?  => 자바 빈즈 패턴      3. 필드가 많고, 대부분의 필드가 필수적이면?  => 빌더 패턴  하나씩 재미있게 읽어보실 수 있도록 깔끔한 스토리텔링식으로 작성해보겠습니다~    한눈에 보는 패턴별 장단점    점.생. 패턴 개념첫번째 디자인 패턴은 점층적 생성자 패턴입니다.가장 기초적인 패턴입니다. - 여러 생성자를 사용해 필드의 조합을 다르게 하여 객체 생성함-..

IT/java|Spring 2024.10.25

[java] 유니코드 대체문자(��) 자바 검증 처리 방법 (마름모 안의 물음표)

[java] 유니코드 대체문자(��) 검증 및 처리 방법 (마름모 안의 물음표)   문제 상황 Confluence의 첨부파일 API를 호출해서 다운로드 로직 구현하고나서Tika 라이브러리의 parseToString 메소드로 여러가지 확장자 파일의 텍스트를 추출하는 과정에서일부 암호화된 파일을 파라미터로 넘겨줄 경우쓰레기값 대체문자들이 리턴되어 예외처리 분기가 필요했다. 대체문자. 바로 채득해보자.     대체문자(代替文字,replacement character)란? - 오류가 발생하거나 잘못되어 있다는 사실을 표시하기 위하여 사용되는 제어 문자입니다.  - 컴퓨터가 이해할 수 없거나, 유니코드에서 지원되지 않는 문자가 들어온 경우 대신 표현하는 유니코드(unicod)의 특수블록(special block)..

IT/java|Spring 2024.09.12

[백준] 17266 어두운 굴다리 자바 풀이 이분탐색 (제출시 7%에서 틀린다면)

[백준] 17266 어두운 굴다리 자바 풀이 이진탐색 (제출시 7%에서 틀린다면)    얼마전 소프티어에서 풀었던 녀석과 해결방법이 거의 동일하니아래의 문제도 풀어보시면 좋을 것 같습니다. 2024.08.28 - [알고리즘 단련장/소프티어] - [소프티어] 슈퍼컴퓨터 클러스터 자바 풀이 이진탐색 시간초과 해결 (HSAT 4회 정기 코딩 인증평가 기출)       문제링크https://www.acmicpc.net/problem/17266      문제인하대학교 후문 뒤쪽에는 어두운 굴다리가 있다. 겁쟁이 상빈이는 길이 조금이라도 어둡다면 가지 않는다. 따라서 굴다리로 가면 최단거리로 집까지 갈수 있지만, 굴다리는 어둡기 때문에 빙빙 돌아서 집으로 간다. 안타깝게 여긴 인식이는 굴다리 모든 길 0~N을 밝히..

[백준] 2193 이친수 자바 풀이 DP

https://www.acmicpc.net/problem/2193      문제0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다.이친수는 0으로 시작하지 않는다.이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다.예를 들면 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지만 0010101이나 101101은 각각 1, 2번 규칙에 위배되므로 이친수가 아니다.N(1 ≤ N ≤ 90)이 주어졌을 때, N자리 이친수의 개수를 구하는 프로그램을 작성하시오.입력첫째 줄에 N이 주어진다.출력첫째 줄에 N자리 이친수의 개수를 ..

[백준] 11659 구간 합 구하기 4 자바 풀이 DP

[백준] 11659 구간 합 구하기 4 자바 풀이 DP https://www.acmicpc.net/problem/11659  문제수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오.입력첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j가 주어진다.출력총 M개의 줄에 입력으로 주어진 i번째 수부터 j번째 수까지 합을 출력한다.제한1 ≤ N ≤ 100,0001 ≤ M ≤ 100,0001 ≤ i ≤ j ≤ N예제 입력 1 복사5 35 4 3 2 11 32 45 5예제 출력 1 복사1291출처문제를 만든 사람: baekjoo..

[java] com.fasterxml.jackson.core.JsonParseException: Illegal unquoted character ((CTRL-CHAR, code 10)): has to be escaped using backslash to be included in string value at [Source: (StringReader); line: 1, column: 200304] at

[Java] com.fasterxml.jackson.core.JsonParseException: Illegal unquoted character ((CTRL-CHAR, code 10)): has to be escaped using backslash to be included in string value at [Source: (StringReader); line: 1, column: 200304] at    spring boot 에서 API를 호출해서 데이터를 저장하는 파이프라인 배치가 있는데,받아온 API 의 응답을 jackson object mapper으로 파싱하는 부분에서 오류가 발생했다. mapper 를 사용하는 부분에서개행문자가 포함되어 있는 json 데이터를 처리하려고 하면 (메소드 파라미터로 ..

IT/java|Spring 2024.08.29

[백준] 11722 가장 긴 감소하는 부분 수열 자바 풀이 DP

[백준] 11722 가장 긴 감소하는 부분 수열 자바 풀이 DP  본 문제에선 숫자가 감소하지만 반대로 생각하면 증가이기 때문에 LIS문제입니다최장 증가 부분수열 (LIS, Longest Increasing Subsequence).  저번에 풀었던 LCS도 참고하시면 좋을 것 같습니다2024.08.22 - [알고리즘 단련장/백준] - [백준] 9251 LCS 최장 공통 부분수열 자바 풀이 DP [백준] 9251 LCS 최장 공통 부분수열 자바 풀이 DPhttps://www.acmicpc.net/problem/9251  왜 그때 당시에는 생각이 나지 않았을까. 싶은DP의 기본중의 기본 문제.안해보면 낯설지만, 한번 만나면 익숙한 녀석. 시작해보자.  스펙은 이렇다.       문snapcode.tistor..

[백준] 1463 1로 만들기 자바 풀이 DP 실버3 쉬운 풀이 완벽 해설

https://www.acmicpc.net/problem/1463  문제정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다.X가 3으로 나누어 떨어지면, 3으로 나눈다.X가 2로 나누어 떨어지면, 2로 나눈다.1을 뺀다.정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오.입력첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다.출력첫째 줄에 연산을 하는 횟수의 최솟값을 출력한다.예제 입력 1 복사2예제 출력 1 복사1예제 입력 2 복사10예제 출력 2 복사3힌트10의 경우에 10 → 9 → 3 → 1 로 3번 만에 만들 수 있다.출처문제를 번역한 사람: baekjoon문제의 오타를 찾은 사람: c..

[백준] 2579 계단 오르기 자바 풀이 DP 실버3

https://www.acmicpc.net/problem/2579     계단 오르기 성공 문제계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다.예를 들어 와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총 점수는 10 + 20 + 25 + 20 = 75점이 된다.계단 오르는 데는 다음과 같은 규칙이 있다.계단은 한 번에 한 계단씩 또는 두 계단씩 오를 수 있다. 즉, 한 계단을 밟으면서 이어서 다음 계단이나, 다음 다음 계단으로 오를 수 있다.연속된 세 개의 계단을 모두 밟아서는 안 된다. 단, 시작점은 계단에 ..

728x90
반응형
LIST