map

📖 문제  프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  💡  풀이 방식• 재귀함수 필요 자료구조- 사람 객체 (현재 사람, 부모 객체, 수익) + 객체 내 수익 계산하는 재귀함수- 자기 자신을 key로, 부모 객체를 value로 갖는 Map  1. 자기 자신을 key로, 부모 객체를 value로 갖는 Map을 만든다.2. 해당 map에 각 판매원의 이름과 부모 객체의 정보(현재 사람, null, 0)를 저장한다.3. 각 판매원을 조직에 참여시킨 사람 이름 배열(referral)을 돌며 부모를 등록한다. 4. 판매 집계 데이터를 돌며 수익을 계산한다.5..
📖 문제 https://www.acmicpc.net/problem/9017   💡  풀이 방식• 구현필요 자료구조- 등수 저장용 int형 배열 (ranks)- 각 팀별 인원 수 저장용 Map (cntMap)- 가장 큰 숫자의 팀 번호 저장용 int형 변수- 해당 팀의 5번째 선수 저장용 배열 (fifth)-  팀 별 최종 점수 저장용 Map (scoreMap)-  6명 이상인 팀 별로 몇 명 있는지 저장용 Map (tmpMap)- 가장 낮은 점수 저장용 int형 변수 (result)- 5번째 점수 저장용 int형 변수 (fifthScore) . N개의 등수를 입력받는다.    - ranks 배열에 저장한다.    - 각 팀 별 팀원 수를 cntMap에 저장한다.    - 가장 큰 번호의 팀 teamN..
📖 문제 https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr    💡  풀이 방식• Map필요 자료구조- 유저 ID와 그에 대한 임의의 인덱스 저장하는 Map- 유저 ID와 그 ID를 신고한 사람의 ID 집합을 가진 Map  1.id_list를 돌며 각 ID와 임의의 인덱스를 저장하고, 각 ID를 신고한 ID 목록을 중복 없이 저장하기 위해 Set을 초기화한다. for(int i = 0 ; i ()); idxMap.put(name, i);} ..
📖 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 풀이 방식 • HashMap → 시간 복잡도 : O(N) 1. players 배열을 돌며 Map에 player와 순서를 저장한다. Map map = new HashMap(); for(int i = 0 ; i < players.length ; i++) { map.put(players[i], i); } 2. callings 배열을 돌며 경주를 진행한다. 2-1) player 이름에 해당하는 순서를 찾는다. int rank = map.get(player); 2-2) 현재 player보다 한 칸 앞에 있..
📖 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 풀이 방식 • 투 포인터 ▷ 탐색 대상 : 모든 보석 구매하기 위한 최소 구간 필요 자료구조 - 보석 "종류" 저장용 Set - 보석 "구간" 저장용 Set - 저장용 Map 투 포인터 구간 탐색 위한 int형 변수 - left와 right (초기값 : 모두 0) 1. map에 right쪽에 위치한 보석을 넣는다. 2. left에 위치한 보석이 중복이라면, 보석 갯수를 줄이고, 시작 구간을 1 증가한다. 3. 모든 보석을 탐색했으며 (set1.size() == set2.size()), 최단 구간이..
📖 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 풀이 방식 • Map 문제에서 말한 순서대로 진행하면 된다. 1. 길이가 1인 모든 단어를 포함하도록 사전을 초기화한다. → 사전 Map에 알파벳 대문자와 색인 번호를 1~26번까지 저장한다. 2. 사전에서 현재 입력과 일치하는 가장 긴 문자열 w를 찾는다. (바깥쪽 while문) 3. w에 해당하는 사전의 색인 번호를 출력하고, 입력에서 w를 제거한다. (안쪽 while문) 4. 입력에서 처리되지 않은 다음 글자가 남아있다면(c), w+c에 해당하는 단어를 사전에 등록한다. if(idx < ms..
📖 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 풀이 방식 • HashMap 사용 - 저장 아래 2단계를 거쳐 진행했다. 1. record 배열을 돌며 아래과 같이 처리한다. - Enter인 경우 | 이미 맵에 존재하는 id라면 해당 id를 새로 입력받은 id로 교체한다. 존재하지 않는 id라면 해당 id와 닉네임을 map에 저장한다. 그리고 출력할 정답 배열의 길이(cnt)를 +1한다. - Leave인 경우 | 출력할 정답 배열의 길이(cnt)만 1 증가시킨다. - Change인 경우 | Map에 이미 존재하는 id의 닉네임을 새로 입력 받은..
📖 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 풀이 방식 • DFS 1. 각 손님이 주문한 단품메뉴들을 오름차순으로 정렬한다. (여기서 향상형 for문으로 orders 원소 값 받고 오름차순한 결과 저장하려다가 틀렸다....) for(int i = 0 ; i < orders.length ; i++) { char[] ch = orders[i].toCharArray(); Arrays.sort(ch); orders[i] = String.valueOf(ch); // 정렬 결과 저장 } 2. 각 주문을 기준으로 course 배열의 단품메뉴들의 갯수 길..
📖 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 풀이 방식 • Map 1. 무게 배열을 오름차순 정렬한다. → 오름차순 정렬했으므로 무게가 같은 경우와 (2/3, 2/4, 3/4)일 때만 고려해 접근 2. 기존 key값과 같으면 체크해 정답 + 1 해당 예제 [100, 180, 360, 100, 270]의 경우 Map에 입력되는 값은 (100, 2), (180, 1), (270,1) (360,1)이다. 정답이 업데이트 되는 상황은 1) 두 번째 100일 때 +1 2) 270도일 때, (b) 270 * 2.0 / 3.0 = 180.0이므로 +1 ..
imname1am
'map' 태그의 글 목록