해시

    [CS스터디]220704 자료구조 - 1

    시간 복잡도란? 반복문을 몇 번 사용했는지 등을 통해 알고리즘이 문제를 해결하기 위한 시간(연산)의 횟수. 즉, 우리는 입력값과 연산 수행 시간의 상관관계를 나타내는 척도를 시간 복잡도라고 한다. 배열과 링크드 리스트의 차이를 설명해주세요. LinkedList와 ArrayList는 모두 Java에서 제공하는 List 인터페이스를 구현한 Collection 구현체. ArrayList 내부적으로 데이터를 배열로 관리하고 데이터 추가/삭제 시 임시 배열을 생성해 데이터를 복사함 데이터별 인덱스가 있어 검색에는 유리O(1) 임시 배열을 사용하기 때문에 데이터 추가/삭제의 경우에는 불리O(n) LinkedList 내부적으로 노드 단위로 데이터를 관리합니다. 자신의 앞 뒤 노드만 인지하는 상태임. 인덱스가 따로 없..

    [프로그래머스]완주하지 못한 선수 - Java

    [프로그래머스]완주하지 못한 선수 - Java

    문제 https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 풀이 해시 문제라고 써있어서 그냥 해쉬로 쉽게 풀었다. 이제 // hashMap에 사람 추가 // 동명이인이 있을 수도 있으니 이미 있는 사람이면 원래 값에 +1 for (String name : participant) { hashMap.put(name, hashMap.getOrDefault(name, 0) + 1); } getOrDef..