
[알고리즘] 암호 해독 Java
class Solution { public String solution(String cipher, int code) { String answer = ""; String[] split = cipher.split(""); for (int i = code-1; i < split.length; i += code) { answer+=split[i]; } return answer; } }
class Solution { public String solution(String cipher, int code) { String answer = ""; String[] split = cipher.split(""); for (int i = code-1; i < split.length; i += code) { answer+=split[i]; } return answer; } }
import java.util.Arrays; import java.util.stream.Collectors; class Solution { public String solution(String my_string) { return Arrays.asList(my_string.split("")).stream() .map(s -> s.charAt(0) > 96 ? s.toUpperCase() : s.toLowerCase()) .collect(Collectors.joining()); } }
import java.util.HashMap; class Solution { public long solution(String numbers) { long answer = 0; HashMap map = new HashMap(); map.put("zero", 0); map.put("one", 1); map.put("two", 2); map.put("three", 3); map.put("four", 4); map.put("five", 5); map.put("six", 6); map.put("seven", 7); map.put("eight", 8); map.put("nine", 9); for (String s : map.keySet()) { numbers = numbers.replaceAll(s, String..
11. Optional API Optional 만들기 Optional.of() value가 null인 경우 NullPointerException을 던집니다. 반드시 값이 있어야 하는 객체인 경우 해당 메서드를 사용하면 됩니다. Throws: NullPointerException – if value is null public static Optional of(T value) { return new Optional(Objects.requireNonNull(value)); } Optional optional = Optional.of("String"); Optional.ofNuallable() value가 null인 경우 비어있는 Optional을 반환합니다. 값이 null일수도 있는 것은 해당 메서드를 사용하..
List의 형태로 바꾼뒤 num1, num2위치를 변환하여 string으로 반환한다. import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; class Solution { public String solution(String my_string, int num1, int num2) { List str = Arrays.asList(my_string.split("")); String tmp = str.get(num1); str.set(num1, str.get(num2)); str.set(num2, tmp); return str.stream().collect(Collectors.joining()); } } Collec..
Collections.frequency() 메서드는 각 요소를 순회하여 요소의 개수를 반환합니다. filter() 메서드에서 요소의 개수가 1보다 큰 요소들을 필터링 후 sorted() 메서드에서 정렬 후 Collectors.joining() 메서드를 사용해서 String으로 리턴합니다. import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; class Solution { public String solution(String s) { List list = Arrays.asList(s.split("")); String answer = list.stream() ..
class Solution { public int solution(int num, int k) { int answer = -1; String t = String.valueOf(num); for (int i = 0; i < t.length(); i++) { if ((t.charAt(i) - '0') == k) { return answer = i+1; } } return answer; } }
6. 인터페이스 기본 메소드와 스태틱 메소드 기본 메소드 (Default Method) 인터페이스에 메소드 선언이 아니라 구현체를 제공하는 방법 해당 인터페이스를 구현한 클래스를 깨트리지 않고 새 기능을 추가할 수 있다. 기본 메소드는 구현체가 모르게 추가된 기능으로 그만큼 리스크가 있다. 컴파일 에러는 아니지만 구현체에 따라 런타임 에러가 발생할 수 있다. 반드시 문서화 할 것. (@implSpec 자바 태그 사용) Object가 제공하는 기능(equals, hasCode)는 기본 메소드로 제공할 수 없다. 구현체가 재정의해야 한다. 본인이 수정할 수 있는 인터페이스에만 기본 메소드 제공할 수 있다. 인터페이스를 상속받는 인터페이스에서 다시 추상 메소드로 변경할 수 있다. 인터페이스 구현체가 재정의 할..