java

Algorithm/백준

백준 11720번 : 숫자의 합(Java)

https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net [풀이] 문자열을 char 배열로 만든 후, 배열의 값 하나를 int형으로 반환하여 sum 변수에 더했다. 어렵지 않은 문제였기에 주의할 부분은 딱히 없었다. substring() 메소드를 써도 되며 방법은 다양하다. [코드] import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String..

Develop/JAVA

Java 디자인 패턴 두번째 이야기 - 프록시 패턴(Proxy Pattern)

[목차] 1. 프록시 패턴이란? 2. 프록시 패턴은 왜 사용하는 것일까? 3. 프록시 패턴의 종류 3-1. 가상 프록시 3-2. 원격 프록시 3-3. 보호 프록시 4. 구현을 보기 전에 알아두면 좋은 부분 5. 프록시 패턴의 구현 방법 5-1. 가상 프록시 5-2. 보호 프록시 6. 결론 | Proxy Pattern - 프록시 패턴이란? 프록시(Proxy)는 사전적 용어로써 '대리인'이라는 의미를 지니고 있습니다. 그러므로 프록시 패턴이라는 용어를 본래 자신이 해야할 역할을 다른 무엇인가가 대신 하는 것이라는 뜻으로 접근할 수 있습니다. 또한 이는 어떤 객체에 대한 접근을 제어하는 수단으로써 대리인에 해당하는 객체를 제공하는 패턴으로 의미를 확장할 수 있습니다. 프록시 패턴은 어떠한 객체에 대한 접근을 ..

Algorithm/백준

백준 16395번 : 파스칼의 삼각형(Java)

https://www.acmicpc.net/problem/16395 16395번: 파스칼의 삼각형 파스칼의 삼각형은 이항계수를 삼각형 형태로 배열한 것인데, 블레즈 파스칼(1623-1662)을 따라 이름 붙여졌다. 단순한 형태로, 파스칼의 삼각형은 다음과 같은 방법으로 만들 수 있다. N번째 행 www.acmicpc.net [풀이] 2차원 행렬의 열은 행의 숫자보다 하나 더 큰 상태이다. 그러므로 이를 생각해서 for문을 돌면서 dp 2차원 배열에 값을 저장하면 된다. 값을 저장할 때는 [i-1][j-1] + [i-1][j] 값이 곧 [i][j]의 값이므로 풀이를 진행하면 된다. 주의! - DP의 브론즈 난이도 문제이기에 간단한 문제였다. 특별히 신경써야할 부분은 없으며 단지 for 반복문의 인덱스에 대..

Develop/JAVA

Java 디자인 패턴 첫번째 이야기 - 싱글톤 패턴(Singleton Pattern)

[목차] 1. 싱글톤 패턴이란 2. 싱글톤 패턴은 왜 사용하는 것일까? 3. 미리 알아두면 이해가 잘되는 사전준비 4. 싱글톤 패턴의 구현 방법 1. Eager Initialization 2. Static Block Initialization 3. Lazy Initialization 3-1. Lazy Initialization with Synchronzied 3-2. Lazy Initialization with DCL(Double Checking Locking) 3-3. Lazy Initialization with Enum 3-4. Lazy Initialization with Holder (Bill Pugh) 5. 결론 | Singleton Pattern - 싱글톤 패턴이란? 싱글톤 패턴은 생성 패턴(C..

Algorithm/백준

백준 1543번 : 문서 검색(Java)

https://www.acmicpc.net/problem/1543 1543번: 문서 검색 세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만들려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한 www.acmicpc.net [풀이] 처음에, replaceFirst() 메소드를 이용하여 풀었지만, replace를 할 경우 인덱스에 대한 처리를 하지 못해서 다음과 같은 반례에 대처를 하지 못했다. (반례) aabb / ab / 답은 1이 나와야 하는데 2가 나오는 분들이 있을 것이다. 그렇기 때문에 for문을 돌면서 문자열 길이만큼 확인 후, 찾게 되었을 때 인덱스를 문자열 길이만큼 더하는 식으로 풀었다. (주의해야할 부분)..

Algorithm/백준

백준 20365번 : 블로그2(Java)

https://www.acmicpc.net/problem/20365 20365번: 블로그2 neighbor 블로그를 운영하는 일우는 매일 아침 풀고 싶은 문제를 미리 정해놓고 글을 올린다. 그리고 매일 밤 각각의 문제에 대하여, 해결한 경우 파란색, 해결하지 못한 경우 빨간색으로 칠한 www.acmicpc.net [풀이] - B와 R을 구분하여 ArrayList에 값을 추가하였다. 이를 통해 B는 몇 개있는지, R은 몇 개 있는지 확인 할 수 있다. - 최소한의 방법은 더 많은 색깔을 전체 칠한 후, 적은 개수의 색깔을 해당하는 위치에 덧칠하는 것이다. 그러므로 각 List의 크기를 비교하면 된다. - size() 메소드에 +1을 하는 이유는 처음 더 많은 수의 색깔을 전체 칠하기 때문이다. (주의해야할..

skyey94
'java' 태그의 글 목록 (18 Page)