목록전체 글 (141)
공부하는 스누피

https://programmers.co.kr/learn/courses/30/lessons/42840# 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 �� programmers.co.kr 생각과정 - 3가지 패턴별로 답안을 작성한다 - DFS 함수를 만들어 완전탐색 알고리즘을 재사용한다 - 재귀를 사용해 문제가 많을수록 시간이 오래 걸리는 단점이 있다. => 채점할 때 효율성 검사를 안하는걸 보니 상관없는듯? 구현 import java.util.ArrayList; class Solution { public int[] solution(int..

https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수�� programmers.co.kr https://snoop-study.tistory.com/2 [JAVA] 완주하지 못한 선수 - ArrayList https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 ..
1. 선언 import java.util.HashMap; HashMap map = new HashMap (); 2. 삽입, 삭제 map.put(key, value); map.remove(key); 3. 출력 - 하나만 map.get(key); - 하나만, 값 없으면 default 출력 map.getOrDefault(key, default); - 모두(키값만) Set keys = map.keySet(); for(Key datatype k : keys) 또는 map.forEach() -모두(value만) Set values= map.values(); for(Value datatype v : values) 또는 map.forEach() -둘다 모두 Set entry= map.entrySet(); for( e ..

해시는 키(key)와 값(value)이 한 쌍을 이루는 자료구조입니다. 원리가 간단하기 때문에 복잡한 알고리즘 없이도 탐색이 가능하다는 장점이 있고, 자료구조에서 중요하게 다루는 부분은 아니라 정확한 의미를 모르고 지나가기 쉽습니다. 사전은 해시와 원리가 비슷해 예시로 많이 쓰이고 있습니다. 사전은 단어와 뜻으로 이루어져 있습니다. 사용자는 단어의 뜻을 알기 위해 단어가 어디에 위치했는지 찾아봅니다. 각 단어의 뜻은 단어 바로 옆에 적혀 있기 때문이죠. 여기서 단어는 뜻을 찾기 위한 '주소'라고 보면 되겠습니다. 같은 단어가 여러개 있다면, 거기에다 흩어져 있다면 뜻을 찾기 힘들어 사전의 의미가 없어집니다. 물론 실제 사전은 알파벳순으로 정렬되어 중복된 단어가 있어도 크게 불편하지 않지만, 해시는 그렇지..

https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수�� programmers.co.kr 생각 과정 - 완주자, 참가자 한명씩 이름을 비교하려면 시간복잡도가 O(n^2)이나 된다. - 순회를 최대한 적게 하는 방법=> 이름 첫글자로 사전을 만들어서 비교하자 => 이차원 배열로 만들었지만 요소 삭제/추가하는 과정에서 한번 순회가 필요함. - ArrayList 배열로 만들면 추가적인 for문 없이 사전을 간편하게 관리할 수 있음...