해시셋의 개념 데이터의 중복을 허용하지 않는 자료구조로, 중복된 데이터를 제거하거나 이미 데이터가 추가되어 있는지를 검사할 때 주로 사용됨 저장되는 데이터가 해싱되어 나온 해시코드를 인덱스로 활용해 배열에 할당하므로, 저장된 데이터의 순서를 파악하는건 불가능 (정렬하려민 list 사용해줘야함) 중복 허용하지 않고 순서 없음 해시셋의 함수 요소 추가 - add() 요소 제거 - remove(value) 요소 존재 여부 체크 - contains 요소 개수 - size() 예시) 프로그래머스 1845번 폰켓몬 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📚 ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📚 문제 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 📝 문제 해결 HashMap으로 선언해주고 완주 시 true로 변경했더니 동명이인을 구분하지 못함. 값 타입을 Integer로 지정해주고 HashMap에 이미 동일한 이..
해시(Hash) 개념 해시(Hash)는 Key : Value의 형태를 갖는 자료구조로 배열과 달리 String 타입이나 다른 어떤 데이터형을 기반으로 자료구조를 접근하고 데이터를 관리할 수 있음 해시는 모든 데이터 타입으로 접근이 가능하다. 예시) N명이 마라톤에 참가하였을 때 N-1명만 완주하여 완주하지 못한 1명의 선수를 찾는 문제가 있다고 하자. 선수를 A, B, C가 있고 A, C 선수만 완주했다고 하면 각 선수가 완주했을 때마다 true로 바꿔주고 이 과정이 끝났을 때도 false로 남아있는 선수를 찾아주면 된다. finished["A"] = true; finished["B"] = false; finished["C"] = true; 해시(Hash)의 함수 put HasMap.put("A", tr..
📚 문제 N개의 동전을 이용하여 만들 수 없는 양의 정수 금액 중 최솟값을 구하는 프로그램을 작성하세요. 예를 들어, N=5이고 동전이 각각 3원, 2원, 1원, 9원짜리라고 가정합시다. 이때 만들 수 없는 양의 정수 금액 중 최솟값은 8원입니다. 또 다른 예시로, N=3이고 동전이 각각 3원, 5원, 7원짜리라고 가정합시다. 이때 만들 수 없는 양의 정수 금액 중 최솟값은 1원입니다. 첫째 줄에는 동전의 개수를 나타내는 양의 정수 N이 주어집니다. (1 target = 2 + 2 = 4로 업데이트한다. target = 4를 만족할 수 있는지 확인한다. 화폐 단위가 3인 동전이 있다. -> target = 4 + 3 = 7로 업데이트한다. target = 7을 만족할 수 있느닞 확인한다. 이보다 큰 화폐..