[프로그래머스 Lv1.] 155652번 둘만의 암호 (JAVA)
·
Coding Test/프로그래머스[JAVA]
문제 설명두 문자열 s와 skip, 그리고 자연수 index가 주어질 때, 다음 규칙에 따라 문자열을 만들려 합니다. 암호의 규칙은 다음과 같습니다.문자열 s의 각 알파벳을 index만큼 뒤의 알파벳으로 바꿔줍니다.index만큼의 뒤의 알파벳이 z를 넘어갈 경우 다시 a로 돌아갑니다.skip에 있는 알파벳은 제외하고 건너뜁니다.예를 들어 s = "aukks", skip = "wbqd", index = 5일 때, a에서 5만큼 뒤에 있는 알파벳은 f지만 [b, c, d, e, f]에서 'b'와 'd'는 skip에 포함되므로 세지 않습니다. 따라서 'b', 'd'를 제외하고 'a'에서 5만큼 뒤에 있는 알파벳은 [c, e, f, g, h] 순서에 의해 'h'가 됩니다. 나머지 "ukks" 또한 위 규칙대로 ..
[JAVA] 날짜 (LocalDate, LocalDateTime, Date, Calendar)
·
Programming Language/JAVA
Java8 이후1. LocalDateisAfter : 주어진 날짜가, 파라미터로 전달받은 날짜보다 클 경우 true를 리턴isBefore : 주어진 날짜가, 파라미터로 전달받은 날짜보다 작을 경우 true를 리턴isEqual : 주어진 날짜가, 파라미터로 전달받은 날짜와 같을 경우 true를 리턴compareTo주어진 날짜가파라미터로 전달받은 날짜와 같을 경우 0파라미터로 전달받은 날짜보다 클 경우 양수파라미터로 전달받은 날짜보다 작을 경우 음수LocalDate date = LocalDate.of(2021, 6, 19);2. LocalDateTimeisAfter : 주어진 날짜가, 파라미터로 전달받은 날짜보다 클 경우 true를 리턴isBefore : 주어진 날짜가, 파라미터로 전달받은 날짜보다 작을 경..
[JAVA] Integer
·
Programming Language/JAVA
Integer.parseInt()String 타입의 문자열을 int 타입으로 변환할 때 사용Integer.compare()두 개의 int 값을 비교하는 함수-1 : 첫 번째 정수가 두 번째 정수보다 작은 경우0: 두 정수가 같은 경우1 : 첫 번째 정수가 두 번째 정수보다 큰 경우int a = 1;int b = 2;int result = Integer.compare(a, b);if(result == 0) { System.out.println("a와 b는 동일");} else if(result == 1) { System.out.println("a가 b보다 크다");} else { System.out.println("a가 b보다 작다");}
[JAVA] 직렬화 & 역직렬화
·
Programming Language/JAVA
직렬화 (Serializaion)직렬화는 객체를 저장 가능한 상태 혹은 전송 가능한 상태(네트워크 상의 데이터 스트림 형태)로 변환하는 것객체를 저장, 전송할 수 있는 특정 포맷 상태로 바꾸는 과정역직렬화 (Deserialization)특정 포맷 상태의 데이터를 다시 객체로 변환하는 것데이터 직렬화 포맷CSV, XML, JSON 형태의 직렬화사람이 읽을 수 있음저장 공간의 효율성이 상대적으로 떨어지고, 파싱 하는 시간이 오래 걸림주로 데이터의 양이 적을 때 사용Binary 직렬화사람이 읽을 수 없음저장 공간의 효율성이 상대적으로 높고, 파싱 하는 시간이 빠름주로 데이터의 양이 많을 때 사용모든 시스템에서 사용 가능java 직렬화java 시스템 간의 데이터 교환이 필요할 때 사용Serializable 인터..
[자료구조] 제네릭(generic)
·
CS 지식/[자료구조]
제네릭(generic) 데이터의 타입을 일반화한다는 것을 의미 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법 제네릭 장점 클래스나 메소드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있음 반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있음 제네릭의 선언 및 생성 class MyArray { T element; void setElement(T element) { this.element = element; } T getElement() { return element; } } public void test(){ List example = new ArrayList(); method1(example); // 제네릭 타입이 일치하지 않기 때문에 컴파일 에러 발..
[JAVA] StringBuffer & StringBuilder 특징
·
Programming Language/JAVA
공통점 new 연산으로 클래스를 한 번만 만듦 문자열 연산 시 새로 객체를 만들지 않고 크기를 변경함 메서드가 동일 가변성을 가짐 코드 String str = "strA"; StringBuilder sbd = new StringBuilder(); StringBuffer sbf = new StringBuffer(); sbd.append("sbdA"); sbf.append("sbfA"); System.out.println("String 객체의 주소 : "+str.hashCode()); System.out.println("StringBuilder 객체의 주소 : "+sbd.hashCode()); System.out.println("StringBuffer 객체의 주소 : "+sbf.hashCode()); str..