문제 : programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr 아이디어 주어진 부위의 의류를 입지 않는 것 또한 하나의 선택지로 간주하면 계산이 매우 빠르고 편리해진다. 예를 들어, 주어진 예시 #1의 경우 headgear에 2종류, eyewear에 1종류의 의류가 주어졌는데, 여기에 "선택 안함" 선택지를 추가하면 각각 3종류, 2종류가 된다. 그러면 선택 가능한 총 가짓수는 3 * 2 = 6가지가 되는데, 문제에 주어진 조건에서 최소 한 개의 의상은 입는다고 하였으므로 모두 "선택 안함"을 선택하는 한 종류를 빼주면 결과값으로 5를 얻을 수 있다. 소스코드 import java.util.HashMap; impo..
문제: https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 아이디어 이 문제에서는 각 번호 사이의 포함관계가 아니라, 접두어 관계가 있는지 여부를 판단하는 것이 목적이기 때문에 주어진 전화번호 String들 중 가장 짧은 길이를 찾고, 각 전화번호의 앞에서부터 해당 길이만큼만 비교하는 방법을 취했다. 즉, 가장 짧은 길이가 n 이라면 전화번호들의 앞 n자리 글자들만 떼어내어 이를 key로 사용하는 map에 p..
문제 : programmers.co.kr/learn/courses/30/lessons/42579 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 programmers.co.kr 아이디어 1. 장르 데이터 정리 Map 변수를 사용하여 각 장르별 총 재생수를 계산한다. 장르 명, 총 재생수를 멤버 변수로 가지는 Genre class를 정의하고, Comparable을 implements 하여 총 재생수를 바탕으로 Genre끼리 대소비교가 가능하도록 해 준다. 이 때, 내림차순으로 정렬될 수 있도록 한다. 위 Map에 만들어놓은 정보를 바탕으로 ..
문제 : programmers.co.kr/learn/courses/30/lessons/42576?language=java 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 정렬 이용 participant, completion array를 정렬한다. 첫 번째 원소부터 차례대로 서로 다른 원소(이름)가 나올 때 까지 진행한다. 서로 다른 원소가 나오면 이 때의 participant의 원소를 반환한다. Map 이용 participant array로 부터 각 이름별 참가자의 수를 업데이트한다. co..
- Total
- Today
- Yesterday
- Sorting
- 멀리 뛰기
- 탐욕법
- 자바
- java
- Queue
- 정렬
- 연습문제
- programmers
- 알고리즘
- Hash
- stack
- 백준
- 큐
- 프로그래머스
- 그래프
- 완전탐색
- dfs
- BFS
- 힙
- dynamic programming
- 코딩테스트
- Heap
- Algorithm
- 데브코스
- 동적계획법
- greedy
- 자료구조
- 해시
- DP
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |