문제 - (https://programmers.co.kr/learn/courses/30/lessons/42885) 사용할 변수의 범위가 1~50000 이어서 한 명마다 완전탐색을 해서 구명보트에 탈 수 있는지 여부를 판단하는 것은 무리가 있다고 생각했다. 곰곰이 생각해보니, people 배열을 오름차순 정렬한 뒤, 가장 처음 사람과 마지막 사람의 합에 따라 처리해주면 될 것 같다는 생각을 했다. 왜냐면 이미 정렬된 배열이므로, 첫 사람은 몸무게가 가장 적게 나갈 것이고 마지막 사람은 몸무게가 가장 많이 나갈 것이기 때문에 첫사람과 마지막 사람의 몸무게 합이 limit를 넘으면 그 이후 사람은 더 계산해볼 필요도 없이 limit를 넘을 것이기 때문이다. 📌주의할 점 더해서 limit를 넘는 경우, 넘지 않..
문제 - (https://programmers.co.kr/learn/courses/30/lessons/42883) 그리디 문제다. k만큼 제거하는 것이므로 number의 길이에서 k를 뺀 만큼의 길이가 정답 문자열의 길이가 됨을 알아야 한다. 예를 들어, number.length()가 7이고, k=3이면 answer.length() = 4 여야 할 것이다. 따라서 ㄱ. 첫 반복문 실행 시, number의 0 인덱스부터 3 인덱스까지 중 가장 큰 수를 선택한다. answer.append( 선택한 수 ) ㄴ. 두 번째 반복문 실행 시, 'ㄱ'에서 선택한 가장 큰 수의 다음 인덱스부터 4 인덱스까지 중 가장 큰 수를 선택한다. answer.append( 선택한 수 ) ㄷ. 세 번째 반복문 실행 시, 'ㄴ'에서..
문제 - (https://www.acmicpc.net/problem/15684) 문제를 딱 보자마자 "와 이거 어렵겠는데?"라는 생각이 들었다. 왜냐하면 사다리를 타서 i에서 i로 가는 걸 어떻게 확인해야 할지가 막막했기 때문이다. 그런데 이 부분은 막상 구현해보니 어렵지 않았다. 내 코드에서 checkLadder() 함수를 보면 된다. 다른 사람 코드를 보니 나보다 더 간단하게 구현했지만 내 코드도 조건을 확인하는데 지장 없다. 그럼 이제 생각해볼 것이, 선을 몇 개 그어야 i에서 i로 가도록 할 수 있겠는가 이다. 보자마자 완전탐색하면 되겠다는 생각이 들었지만... 경우의 수가 너무 많다는 생각이 들었다. 그래서 잘못생각한 줄 알고 고민에 빠져있었는데, 아니나 다를까 문제에 조건이 있었다. 만약, 정..
문제 - (https://www.acmicpc.net/problem/16234) 크게 어려웠던 문제는 아니다. 문제를 다 풀고 다른 코드들을 확인해보니 BFS로 많이 풀었지만 나는 DFS가 더 편해서 DFS로 풀었다. DFS + 시뮬레이션 문제였다. 문제를 풀다가 개인적으로 뿌듯한 구현이 있었다. 바로 이부분!! // 같은 연합끼리 인구 이동 시작 int[] unions = new int[check]; int[] unionsCnt = new int[check]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (visited[i][j] == 0) continue; unions[visited[i][j]] += map[i][j]; unionsC..
- Total
- Today
- Yesterday
- 그리디
- 시뮬레이션
- 톱니바퀴
- 드래곤 커브
- 브라우저 요청
- BOJ
- header
- 사다리 조작
- java
- 백준
- 배열순회
- 코테
- withCredentials
- 자바
- 우선순위큐
- 아기상어
- 재귀
- 16234
- Greedy
- 구명보트
- 프로그래머스
- 구현
- 코딩테스트 연습
- 인구이동
- 완전탐색
- 14891
- 코딩테스트
- dfs
- Access-Control-Allow-Origin
- 큰 수 만들기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |