반응형

Java 79

[Java-Algorithm] 백준 11719 그대로 출력하기

문제 : https://www.acmicpc.net/problem/11719 11719번: 그대로 출력하기 2 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 www.acmicpc.net 풀이 : 그냥 BufferedReader로 하고, 처음에 틀렸었다.. 왜지 하고 왔더니, null 체크를 안한것. *** 중요 public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); A..

[Java-Algorithm] 백준 11721 열개씩 끊어 출력하기

문제 : https://www.acmicpc.net/problem/11721 11721번: 열 개씩 끊어 출력하기 첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다. www.acmicpc.net 풀이 : public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String n = br.readLine(); br.close(); int s = 0; int e = 10; for (int i = 0; i < n.length()/10; i++..

[Java-Algorithm] 백준 2164 풀이 (Queue)

문제 : https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 풀이 : 거의 Queue를 쓸줄 아느냐 확인만 하는 문제인것 같다. 알고리즘 잘모르니 기초부터 탄탄하게 잡아가자..! public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.pars..

[Java-Algorithm] 백준 10773 풀이 (스택)

1). 문제 : https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 2). 풀이 : Stack 사용법 문제이다. Scanner에서 BufferedReader로만 변경해서사용 public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int ..

[Java-Basic] 함수형 인터페이스 (Functional Interface) 예제

Java 개발자인데 모르는것들이 너무 많아 하나하나 공부하다보니, 함수형 인터페이스를 접하게되었다. 우선 사용법에 대해 알아보자..! 함수형 인터페이스를 사용하는 이유? 자바의 람다식은 함수형 인터페이스로만 접근이 가능하기 때문에, 람다식 사용시 미리 정의된 인터페이스를 사용할 수 있다. java.lang.function 패키지 Function T 타입의 input을 받아, R 타입을 Return하는 함수 인터페이스 주로 매개변수를 반환값 타입으로 변환 후 반환할때 사용한다. 사용 : 타입 변환 예제가 아닌 단순한 덧셈 곱셈 예제로 만들었다... apply() 메소드를 오버라이드 하여 input + 10하는 메소드로 만들어보자. import java.util.function.Function; public..

[Java-Basic] Comparator과 Comparable을 사용한 배열 정렬

1. Interface Comparable 정의 : 기본적으로 정렬하는 기준이 되는 메소드를 정의하는 인터페이스 사용 : 쉽게 말해 Arrays.sort() 메서드는 아래와 같은 정렬 기준인데, 기준을 반대로 역정렬 하고싶을때 등등 사용 => 기본정렬기준 자체를 변경하여 사용하고 싶을때 ex). Integer,Double등 => 오름차순 정렬 String => 사전순 정렬 compareTo()메소드를 사용해서 정렬하는데, 현재객체 return 음수 현재객체 == 파라미터 => return 0 현재객체 > 파라미터 => return 양수 양수인 경우에는 두 객체의 자리가 바뀌고, 음수 또는 0이면 객체의 자리가 그대로 유지된다. 사용방법 : 기존 sort()메소드를 재정의 했기때문에 그대..

[Java-Basic] List<Obj> 특정값 기준 중복제거 방법

자주 필요해서 정리해 놓으려고 한다! 우선 제네릭과 람다를 잘 몰라서.. 공부를 해야겠다...ㅠ 상황 : Object list에서 Grouping 할 수 있는 컬럼을 기준으로 중복을 제거하려고 한다. 보통 이런상황에서는 for문을 여러번 돌려서 사용했다. 하지만 매번 for문을 돌리거나 특정 컬럼을 기준으로 쿼리를 뽑아와서 사용하기에는, 같은 상황이 몇번 발생한다.. 그래서 다같이 편할 수 있도록 Util을 만들어놓고 사용하고자 하여 조사를 해보았다. 해결 : 1). pom .xml => 기존 aspectj Version을 1.6.x 대를 사용했다. 하지만 하위 에러 발생. Error Code : error : org.aspectj.apache.bcel.classfile.ClassFormatExcepti..

[Java-Algorithm] 조합 Combination 알고리즘

이전부터 궁금했던 조합 알고리즘. 조합이란 ...? nCr n개의 숫자중 r개를 뽑아서 만들수있는 조합을 구한다.... 예를 들어 [1, 2, 3] 이란 숫자 배열에서 만들수있는 조합은 [1, 2] [1, 3] [2, 3] [1,2,3] 이된다. 순열을 뽑았을 때 나오는 [2, 1] [3, 1] [3, 2] 등은 중복이라서 제거된다. 일단 기본적으로 알고리즘을 먼저 보자... public class combination { public static void main(String[] args) { //ABCD 4개를 받아서 조합을 만든다. String[] arr = {"A", "B", "C", "D"}; //자리수별 체크 1개뽑을때부터 n개 다 뽑을때까지 //n개중에 i개 뽑기 //2개부터 뽑자 boole..

[Java-Basic] Java 정규표현식

Java 정규표현식 만드는 방법 기록!!!!! 표현식설명 ^ 문자열 시작 $ 문자열 종료 . 임의의 문자 [단 ‘'는 넣을 수 없습니다.] * 앞 문자가 0개 이상의 개수가 존재할 수 있습니다. + 앞 문자가 1개 이상의 개수가 존재할 수 있습니다. ? 앞 문자가 없거나 하나 있을 수 있습니다. [] 문자의 집합이나 범위를 표현합니다. -기호를 통해 범위를 나타낼 수 있습니다. ^가 존재하면 not을 나타냅니다. {} 횟수 또는 범위를 나타냅니다. () 괄호안의 문자를 하나의 문자로 인식합니다. | 패턴을 OR 연산을 수행할 때 사용합니다. \s 공백 문자 \S 공백 문자가 아닌 나머지 문자 \w 알파벳이나 문자 \W 알파벳이나 숫자를 제외한 문자 \d [0-9] 숫자 \D 숫자를 제외한 모든 문자 (?..

[Java-Algorithm] 백준 4307 개미 -그리디 알고리즘

그리디 알고리즘 문제 2번째 - 백준 개미 문제 : https://www.acmicpc.net/problem/4307 4307번: 개미 개미 여러 마리가 길이가 lcm인 막대 위에 있다. 각 개미의 이동 속도는 모두 일정하며, 1cm/s이다. 개미가 막대의 마지막까지 걸어간다면, 개미는 그 즉시 떨어지게 된다. 또, 두 개미가 만나게 된 www.acmicpc.net 풀이 : 괜히 복잡하게 생각했다가 낭패봤던 문제.... 간단하게 풀이를 설명하자면. 개미가 만나서 반대로 돌고 하는 부분을 생략하고 생각하면된다. 함정....! 결국 최소 시간= 개미들이 다떨어지는 시간 = 끝에서 가장 멀리있는 개미의 위치 = 1개미 마다 양끝에서의 거리를 재서 가장 짧은 거리를 기준으로 temp를 만든다. => 그 temp..

반응형