반응형

항해99 35

99클럽 코테 스터디 15일차 TIL, 탐욕법(구명보트)

1. 문제 정의2. 문제 접근탐욕법에 속해 있으니 greedy방식으로 풀면 될 것 같다.3. 문제 풀이배열을 정렬해준다. 2개의 포인트를 두어 차례대로 탐색한다. 정답을 갱신한다.4. 코드import java.util.*;class Solution { public int solution(int[] people, int limit) { int answer = 0; // 정렬해줘서 해야 최소 몸무게와 최대 몸무게의 사람을 선정해서 이용 가능 Arrays.sort(people); int l = people.length; // 투포인터 이용 int p1 = 0; int p2 = l -1; // 그때마..

99클럽 코테 스터디 14일차 TIL, 탐욕법(조이스틱)

1. 문제 정의2. 문제 접근탐욕법에 속해 있으니 greedy방식으로 풀면 될 것 같다.3. 문제 풀이처음 알파벳부터 시작하여 끝까지 위아래 몇번 움직이는지를 upDown에 더해준다. 순방향과 역방향 이동 중 적은 것을 구해서 갱신해준다. 마지막에 더해준다.4. 코드import java.util.*;class Solution { // int minLeft, minRight; // 역방향 최솟값, 순방향 최솟값 public int solution(String name) { int l = name.length(); int idx = 0; // 다음 값 확인 사용 int upDown = 0; //위아래 움직임 int leftRight = na..

99클럽 코테 스터디 13일차 TIL, 완전탐색( Reverse Odd Levels of Binary Tree)

1. 문제 정의2. 문제 접근dfs를 이용하여 완전탐색을 해주면 될 것 같다.3. 문제 풀이1 인덱스 부터 시작하여 dfs시작한다. depth를 같이 넘겨주어 depth가 홀수이면 양쪽 노드의 값을 교환해준다.4. 코드/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * ..

99클럽 코테 스터디 12일차 TIL, 완전탐색( All Paths From Source to Target)

1. 문제 정의2. 문제 접근dfs를 이용하여 완전탐색을 해주면 될 것 같다.3. 문제 풀이0 인덱스 부터 시작하여 dfs시작한다. lastIndex가 current Index랑 같은 경우 결과를 더해준다.4. 코드class Solution { List> ans; List path; int lastIdx; public List> allPathsSourceTarget(int[][] graph) { ans = new ArrayList(); path = new ArrayList(); lastIdx = graph.length - 1; path.add(0); dfs(graph, 0, path); return a..

99클럽 코테 스터디 11일차 TIL, DFS,BFS(Deepest Leaves Sum)

1. 문제 정의2. 문제 접근 dfs를 이용하여 완전탐색을 해주면 될 것 같다.3. 문제 풀이dfs를 통해 리프 노드까지 이동한다.리프노드가 maxDepth일 경우 sum을 갱신해주고, 다음 maxDepth의 경우에는 sum 에 값을 더해준다.4. 코드/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * ..

99클럽 코테 스터디 10일차 TIL, DFS,BFS(게임 맵 최단 거리)

1. 문제 정의 2. 문제 접근 bfs를 통해 최단거리를 구해주면 될 것 같다.3. 문제 풀이bfs를 통해 최단거리 맵을 만든다.원하는 좌표의 최단거리를 리턴한다.4. 코드import java.util.*;class Solution { int n, m; int[][] dist; boolean[][] visit; int[][] dir = {{-1,0},{1,0},{0,-1},{0,1}}; public int solution(int[][] maps) { // int answer = 0; n = maps.length; m = maps[0].length; dist = new int[n][m]; visit = ne..

99클럽 코테 스터디 9일차 TIL, DFS,BFS(타겟 넘버)

1. 문제 정의 2. 문제 접근 dfs를 통해 더하는 것과 빼는 것의 모든 경우를 구하면 될  것 같다.3. 문제 풀이dfs를 통해 모든 경우를 다 구한다.target 이랑 값을 비교해 본다.4. 코드class Solution { int cnt = 0; public int solution(int[] numbers, int target) { int answer = 0; dfs(numbers, 0, target, 0); answer = cnt; return answer; } private void dfs(int[] numbers, int depth, int target, int result){ if(..

99클럽 코테 스터디 8일차 TIL, 완전탐색(소수 찾기)

1. 문제 정의2. 문제 접근dfs를 통해 만들어질 수 있는 숫자를 모두 구해 소수인지 판별해주면 될 것 같다.3. 문제 풀이dfs를 통해 만들어질 수 있는 경우의 수를 모두 구한다.isPrim 함수를 통해 소수인지 판별한다.4. 코드import java.util.*;class Solution { static List list = new ArrayList(); static boolean[] check = new boolean[7]; public int solution(String numbers) { int answer = 0; for (int i = 0; i 5. 회고처음에 dfs로 어떻게 모든 경우의 수를 구하는지가 어려웠다. 소수를 판별하는 알고리즘은 ..

99클럽 코테 스터디 7일차 TIL, 완전탐색(카펫)

1. 문제 정의 2. 문제 접근 구현 문제인듯 하다.3. 문제 풀이문제에 규칙을 찾는다.규칙에 맞는 정답을 리턴한다.4. 코드class Solution { public int[] solution(int brown, int yellow) { int[] answer = {}; // 1. (w,h) = (brown) + (yellow) 의 약수 // 2. 가로 >= 3, 세로 >= 3 // 3. 검증: (가로-2) * (세로-2) = yellow 갯수 int sum = brown + yellow; for(int i = 3; i = 3){ int w = Mat..

99클럽 코테 스터디 6일차 TIL, 정렬(H-Index)

1. 문제 정의 2. 문제 접근정렬을 하면 될 것 같다.3. 문제 풀이int 배열을 오름차순으로 정렬해준다.배열을 순회하면서 최고 많이 인용된 논문부터 차례대로 순위가 안 넘는지 확인해 준다.정답을 리턴한다.4. 코드import java.util.*;class Solution { public int solution(int[] citations) { Arrays.sort(citations); int n = citations.length; int idx = 0; for(int i = n-1; i >=0; i--){ if(idx 5. 회고예전에 한번 풀었던 문제라서 기억이 났다. 내림차순으로 해서 처음부터 순회해서 문..

반응형