출처 : https://www.acmicpc.net/problem/6987 6987번: 월드컵 월드컵 조별 최종 예선에서는 6개국으로 구성된 각 조별로 동일한 조에 소속된 국가들과 한 번씩, 각 국가별로 총 5번의 경기를 치른다. 조별리그가 끝난 후, 기자가 보내온 각 나라의 승, 무승부 www.acmicpc.net 🔍 Solve 아주 예전에 단순히 승, 무, 패 숫자로만 비교해서 문제를 풀었을 때 실패했던 문제였는데, 그동안 재귀 부분 문제를 많이 풀어보고 다시 풀어보니 어렵지 않게 해결할 수 있었습니다. 해당 문제는 예제로 나와있는 그림과 테스트 케이스의 배열 형태가 같지 않아서 매번 입력을 받을 때마다 주춤하게 되는 것 같습니다. 하지만 손으로 매칭 결과를 그려보면 어렵지 않게 새로운 배열을 만들 ..
출처 : https://www.acmicpc.net/problem/1253 1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net 🔍 Solve 알고리즘 분류를 보면 투 포인터로 푸는 것 같은데 문제를 풀고 난 뒤 투 포인터를 공부한 터라,, HashMap을 사용한 완전 탐색 방법으로 풀었습니다. 투 포인터와 관련해서 공부한 뒤, 비슷한 문제인 백준 1806 부분합 문제를 풀었는데, 관련 포스팅은 곧 올리겠습니다! 저는 입력받은 숫자를 저장하는 numbers배열과 numbers의 숫자를 키로 가지는 HashMap을 사용하였습니다. HashMap..
🔍 완전 탐색 완전 탐색 방법은 문제의 해법으로 생각할 수 있는 모든 경우의 수를 나열해보고 확인하는 기법입니다. 코딩 테스트 문제를 풀 때, 우선 완전 탐색으로 접근하여 답을 찾고, 성능 개선을 위해 다른 알고리즘을 사용하며 시간과 메모리를 줄여나가는 것이 좋습니다. 보통 순열, 조합, 부분집합과 같은 조합적 문제와 함께 푸는 문제들이 많이 출제되는데, 만약 조합된 결과에 순서가 의미가 있다면 순열, 순서가 의미가 없다면 조합, 선택하는 개수가 고정되지 않고 상황에 따라 다르다면 부분집합을 사용합니다. 🔍 순열 (permutation), 중복순열 순열은 서로 다른 것들 중 몇 개를 뽑아서 한 줄로 나열하는 것입니다. 즉, 서로 다른 n개중 r개를 택하는 것이죠!(nPr)순열은 팩토리얼과 연관되어있는데,..
출처 : https://www.acmicpc.net/problem/17471 17471번: 게리맨더링 선거구를 [1, 4], [2, 3, 5, 6]으로 나누면 각 선거구의 인구는 9, 8이 된다. 인구 차이는 1이고, 이 값보다 더 작은 값으로 선거구를 나눌 수는 없다. www.acmicpc.net 🔍 Solve 조합을 이용한 완전 탐색이며, dfs를 사용했습니다. 다음과 같은 순서로 구현했습니다. 1. 그래프(배열) 만들기 - 조합 2. 선거구 연결 - 그래프 탐색(dfs) 3. 인구수 파악 부분집합이 아닌 조합을 사용한 이유는, 배열 1이 뽑혔으면 배열 2는 배열 1의 여집합이기 때문에 부분 조합을 사용하면 중복되는 배열이 반환됩니다. 따라서 1부터 N/2까지의 개수를 뽑는 조합을 사용했습니다. 조합..
- Total
- Today
- Yesterday
- 토큰기반인증
- 정처기
- bruteforce
- IMAGE
- 완전탐색
- 운영체제
- 알고리즘
- 그래프탐색
- BOJ
- 이펙티브자바
- 아이템60
- Java
- dp
- 완탐
- springboot
- Retrofit2
- 조합
- 부분집합
- Container
- 아이템59
- EffectiveJava
- 순열
- OS
- dfs
- docker-compose
- 백준
- subset
- docker
- 아이템61
- BFS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |