본문 바로가기

분류 전체보기

(81)
[JAVA]Set 의 개념,종류 및 사용법 Set 이란? Set을 먼저 한글로 해석 하면, 집합이다. Set 인터페이스를 구현한 컬렉션 클래스는 여러가지가 있는데 공통된 특징이 있다. 1. 요소의 저장 순서를 유지하지 않는다. 2. 같은 요소의 중복 저장이 되지 않는다. 중요한 것은 그냥 순서가 아니고 저장 순서라는 점이다. 대표적인 Set 컬렉션 클래스는 HashSet,TreeSet이 있다. HashSet HashSet 클래스는 Set 컬렉션 클래스 중 가장 많이 쓰인다. 앞서 설명했던 HashMap과 마찬가지로, 이름에서 알 수 있다시피, 해싱기법을 사용하여 검색 속도가 아주 우수하다. HashSet 클래스는 내부적으로 HashMap 인스턴스를 이용하여 요소들을 저장한다. TreeSet TreeSet 클래스는 HashSet과 더불어 많이 쓰이..
[JAVA11/알고리즘]4-2 아나그램 문제 Anagram이란 두 문자열이 알파벳의 나열 순서를 다르지만 그 구성이 일치하면 두 단어는 아나그램이라고 합니다. 예를 들면 AbaAeCe 와 baeeACA 는 알파벳을 나열 순서는 다르지만 그 구성을 살펴보면 A(2), a(1), b(1), C(1), e(2)로 알파벳과 그 개수가 모두 일치합니다. 즉 어느 한 단어를 재 배열하면 상대편 단어가 될 수 있는 것을 아나그램이라 합니다. 길이가 같은 두 개의 단어가 주어지면 두 단어가 아나그램인지 판별하는 프로그램을 작성하세요. 아나그램 판별시 대소문자가 구분됩니다. 입력 첫 줄에 첫 번째 단어가 입력되고, 두 번째 줄에 두 번째 단어가 입력됩니다. 단어의 길이는 100을 넘지 않습니다 출력 두 단어가 아나그램이면 “YES"를 출력하고, 아니면 ”NO..
[JAVA] HashMap의 개념 및 사용법 HashMap 이란? HashMap은 Map 인터페이스를 상속하고 있는 대표적인 컬렉션이다. 이름에 Hash가 들어가있는 것을 보면 알겠지만 Hashing 을 사용하고 있다. Map 인터페이스를 상속하고 있기 때문에 key와 value 로 구성된 Entry 객체를 저장한다. HashMap 특징 삽입되는 순서와 들어 있는 위치가 관계가 없다. 중복된 value값은 가질 수 있지만, 중복된 key 값은 가질 수 없다. Hashing을 사용하기 때문에 많은 양의 데이터를 검색하는데 있어서 성능이 뛰어나다. HashMap 선언 및 메소드 HashMap 선언 HashMap map = new HashMap(); //new에서 타입 파라미터를 생략한 HashMap 생성 HashMap map = new HashMap(..
[JAVA11/알고리즘]3-2 공통원소 구하기 문제 A, B 두 개의 집합이 주어지면 두 집합의 공통 원소를 추출하여 오름차순으로 출력하는 프로그램을 작성하세요. 입력 첫 번째 줄에 집합 A의 크기 N(1
[JAVA11/알고리즘]2-6 뒤집은 소수 문제 N개의 자연수가 입력되면 각 자연수를 뒤집은 후 그 뒤집은 수가 소수이면 그 소수를 출력하는 프로그램을 작성하세요. 예를 들어 32를 뒤집으면 23이고, 23은 소수이다. 그러면 23을 출력한다. 단 910를 뒤집으면 19로 숫자화 해야 한다. 첫 자리부터의 연속된 0은 무시한다. 입력 첫 줄에 자연수의 개수 N(3
[JAVA11/알고리즘]2-5 소수찾기(에라토스테네스의 체) 문제 자연수 N이 입력되면 1부터 N까지의 소수의 개수를 출력하는 프로그램을 작성하세요. 만약 20이 입력되면 1부터 20까지의 소수는 2, 3, 5, 7, 11, 13, 17, 19로 총 8개입니다. 입력 첫 줄에 자연수의 개수 N(2
[JAVA11/알고리즘]1-12 암호 문제 현수는 영희에게 알파벳 대문자로 구성된 비밀편지를 매일 컴퓨터를 이용해 보냅니다. 비밀편지는 현수와 영희가 서로 약속한 암호로 구성되어 있습니다. 비밀편지는 알파벳 한 문자마다 # 또는 *이 일곱 개로 구성되어 있습니다. 만약 현수가 “#*****#”으로 구성된 문자를 보냈다면 영희는 현수와 약속한 규칙대로 다음과 같이 해석합니다. 1. “#*****#”를 일곱자리의 이진수로 바꿉니다. #은 이진수의 1로, *이진수의 0으로 변환합니다. 결과는 “1000001”로 변환됩니다. 2. 바뀐 2진수를 10진수화 합니다. “1000001”을 10진수화 하면 65가 됩니다. 3. 아스키 번호가 65문자로 변환합니다. 즉 아스크번호 65는 대문자 'A'입니다. 참고로 대문자들의 아스키 번호는 'A'는 65번,..
[JAVA11/알고리즘]1-10 가장 짧은 문자거리 문제 한 개의 문자열 s와 문자 t가 주어지면 문자열 s의 각 문자가 문자 t와 떨어진 최소거리를 출력하는 프로그램을 작성하세요. 입력 첫 번째 줄에 문자열 s와 문자 t가 주어진다. 문자열과 문자는 소문자로만 주어집니다. 문자열의 길이는 100을 넘지 않는다. 출력 첫 번째 줄에 각 문자열 s의 각 문자가 문자 t와 떨어진 거리를 순서대로 출력한다. 예시 입력 1 teachermode e 예시 출력 1 1 0 1 2 1 0 1 2 2 1 0 해결 문자열s와 문자t를 입력받고 각문자와 문자s의 떨어진 거리를 구하는 문제이다. 여기서 주의할 점은 거리이기 때문에 각 문자보다 늦은 순서에 있는 문자s도 신경써야한다는 점이다. int 배열을 하나 만들어주고 이 곳에 문자s와의 거리를 넣어줄 것이다. 거리를 넣..