본문 바로가기
반응형

All205

[Hackerrank] Weighted Uniform Strings (Easy) [Hackerrank] Weighted Uniform Strings - (String - Easy) www.hackerrank.com/challenges/weighted-uniform-string/problem Weighted Uniform Strings | HackerRank Determine if a string contains uniform substrings of certain weights. www.hackerrank.com 문제 String s와 int 배열 queries가 주어진다 그리고 queries의 숫자들이 문자열 s로 나타낼 수 있는 숫자면 YES, 아니면 NO를 출력 문자열 s가 나타내는 숫자는 a=1 ~ z=26으로 표현하는데, 예를들어 abccddde의 경우 각 문자열과 연속되는.. 2020. 10. 22.
[Hackerrank] Two Strings (Easy) [Hackerrank] Two Strings - (String - Easy) www.hackerrank.com/challenges/two-strings/problem Two Strings | HackerRank Given two strings, you find a common substring of non-zero length. www.hackerrank.com 문제 두개의 string이 주어지는데, 중복되는 문자가 있으면 YES 아니면 NO를 출력 해결 Set을 이용해 간단히 해결할 수 있다 static String twoStrings(String s1, String s2) { Set set = new HashSet(); for (char c : s1.toCharArray()) set.add(c); f.. 2020. 10. 21.
[Hackerrank] Two Characters (Easy) [Hackerrank] Sherlock and the Valid String - (String - Easy) www.hackerrank.com/challenges/two-characters/problem Two Characters | HackerRank Print the length of the longest possible string $t$ you can form. www.hackerrank.com 문제 문자열 s가 주어지면, 이 문자열에서 2개의 문자만 남기고 모두 지웠을 때, 교대로 문자가 완성되면서 가장 긴 문자열의 길이를 구하는 것이다 예를 들어 s = beabeefeab일 때, (e,f)를 지우면 babab로 5이다 해결 Map에 문자열:문자열의 개수로 넣는다 그리고 문자열의 개수 차이가 1.. 2020. 10. 21.
[Hackerrank] Sherlock and the Valid String (Medium) [Hackerrank] Sherlock and the Valid String - (String - Medium) www.hackerrank.com/challenges/sherlock-and-valid-string/problem Sherlock and the Valid String | HackerRank Remove some characters from the string such that the new string's characters have the same frequency. www.hackerrank.com 문제 문자열 s가 입력될 때, 모든 문자의 개수가 동일하면 true 아니면 false인 문제다 여기서 1개의 문자열을 지울 수 있는 기회를 준다 예를 들면, s = abc가 들어오면 True .. 2020. 10. 18.
[이펙티브자바 3판] ITEM31. 한정적 와일드카드를 사용해 API 유연성을 높이라 이번장의 핵심은... 조금 복잡하더라도 와일드카드 타입을 적용하면 API가 훨씬 유연해진다 그러니 널리 쓰일 라이브러리를 작성한다면 반드시 와일드카드 타입을 적절히 사용해줘야 한다 PECS 공식을 기억하자 즉, 생산자(producer)는 extends를 소비자(consumer)는 super를 사용한다 Comparable과 Comparator는 모두 소비자라는 사실도 잊지 말자 매개변수화 타입은 불공변 즉, 서로 다른 타입 Type1, Type2가 있을 때, List은 List의 상위 타입도 하위 타입도 아니다 때론 불공변 방식보다 유연한 무언가가 필요하다 public class Stack { public Stack(); public void push(E e); public E pop(); public b.. 2020. 10. 18.
[이펙티브자바 3판] ITEM30. 이왕이면 제네릭 메서드로 만들어라 이번장의 핵심은... 제네릭 타입과 마찬가지로, 클라이언트에서 입력 매개변수와 반환 값을 명시적으로 반환해야 하는 메서드보다 제네릭 메서드가 더 안전하며 사용하기도 쉽다 타입과 마찬가지로, 메서드도 형변환 없이 사용할 수 있는 편이 좋으며, 많은 경우 그렇게 하려면 제네릭 메서드가 되어야 한다 역시 타입과 마찬가지로, 형변환을 해줘야 하는 기존 메서드는 제네릭하게 만들자 기존 클라이언트는 그대로 둔 채 새로운 사용자의 삶을 훨씬 편하게 만들어줄 것이다 제네릭 메서드 매개변수화 타입을 받는 정적 유틸리티 메서드는 보통 제네릭 예를 들어, Collections의 '알고리즘 메서드' (binarySearch, sort 등) 모두 제네릭 // 로 타입 사용 - 수용 불가 public static Set unio.. 2020. 10. 17.
[이펙티브자바 3판] ITEM29. 이왕이면 제네릭 타입으로 만들어라 이번장의 핵심은... 클라이언트에서 직접 형 변환해야 하는 타입보다 제네릭 타입이 더 안전하고 쓰기 편하다 그러니 새로운 타입을 설계할 때는 형 변환 없이도 사용할 수 있도록 하라 기존 타입 중 제네릭이었어야 하는 게 있다면 제네릭 타입으로 변경하자 기존 클라이언트에는 아무 영향을 주지 않으면서, 새로운 사용자를 훨씬 편하게 해주는 길이다 제네릭 타입으로 만들자 제네릭 타입을 새로 만드는 일은 조금 어렵지만 배워두면 그만한 값어치를 충분히 한다 // 제네릭이 절실한 강력 후보! (Object 기반 스택) public class Stack { private Object[] elements; private int size = 0; private static final int DEFAULT_INITIAL_CA.. 2020. 10. 15.
반응형