반응형

개발자 취업 30

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. 회고예전에 한번 풀었던 문제라서 기억이 났다. 내림차순으로 해서 처음부터 순회해서 문..

99클럽 코테 스터디 5일차 TIL, 정렬(가장 큰 수)

1. 문제 정의2. 문제 접근정렬을 하면 될 것 같다.3. 문제 풀이int 배열을 String 배열로 바꾼다.Comparator을 상속받아 정렬을 해준다.정답을 리턴한다.4. 코드import java.util.*;class Solution { public String solution(int[] numbers) { StringBuilder sb = new StringBuilder(); String[] strs = new String[numbers.length]; for(int i = 0; i (o2+o1).compareTo(o1+o2)); for(int i = 0; i 5. 회고정렬을 쓰면 쉽게 풀 수 있는 문제였..

99클럽 코테 스터디 4일차 TIL, Heap(Smallest Number in Infinite Set)

1. 문제 정의 2. 문제 접근PriorityQueue를 써서 마지막 인덱스를 기억했다가 계속해서 활용해주면 될 것 같다.3. 문제 풀이PriorityQueue 를 이용하여 마지막 인덱스를 기억한다.조건에 맞으면 숫자를 넣어준다.pop을 할때 pq가 비었으면 마지막인덱스를 리턴하고, 아니면 pq의 내용을 pop해준다.4. 코드class SmallestInfiniteSet { PriorityQueue pq; int lowerIdx = 1; public SmallestInfiniteSet() { pq = new PriorityQueue(); } public int popSmallest() { if(!pq.isEmpty(..

99클럽 코테 스터디 3일차 TIL, Heap(더 맵게)

1. 문제 정의2. 문제 접근스코빌을 더해줄때 마다 더해준 스코빌이 그 값의 정렬에 따라 자동으로 들어가야 하므로 PriorityQueue를 쓰는것이 편할 것 같다.3. 문제 풀이PriorityQueue 를 이용하여 첫번째 스코빌과 두번째 스코빌을 빼내어 계산하여 다시 pq에 넣어준다.넣어줄때 마다 최소 스코빌 값을 갱신해준다.마지막에 반복된 횟수를 리턴해준다.4. 코드import java.util.*;class Solution { public int solution(int[] scoville, int K) { PriorityQueue pq = new PriorityQueue(); int ans = 0; for (int s : scoville)..

99클럽 코테 스터디 2일차 TIL, Stack(올바른 괄호)

1. 문제 정의2. 문제 접근Stack을 사용하여 풀면 될 것 같다.3. 문제 풀이Stack을 이용하여 "("일때는 넣고, ")" 일때는 Stack에 값이 들어가 있는지 확인 후 처리4. 코드import java.util.*;class Solution { boolean solution(String s) { Stack stack = new Stack(); for(char ch:s.toCharArray()){ if(ch == '('){ stack.add(ch); } else { if(stack.isEmpty()){ return false; ..

99클럽 코테 스터디 1일차 TIL, Queue(기능개발)

1. 문제 정의 2. 문제 접근순차적으로 배포를 해야하고, 앞에 배포가 안되면 뒤에 배포도 기다려야 하니 Queue를 사용하면 될 것 같다.3. 문제 풀이Queue에 배포 시간을 순차적으로 적재배포될때마다 그 뒤에 배포가 이미 완료면 같이 처리정답 출력4. 코드import java.util.*;class Solution { public int[] solution(int[] progresses, int[] speeds) { int[] answer; List list = new ArrayList(); Queue q = new LinkedList(); for(int i = 0; i  5. 회고Queue를 활용하여 간단하게 해결할 수 있는 문..

반응형