본문 바로가기

728x90
반응형

Major-

(864)
3. 그래프 최대점수 (+DFS) +) 세련된 풀이 : DFS 각 노드를 무한 반복해, ch 배열로 첫 번째로 방문 했는지를 확인 import java.util.*; class Edge { public int vex; public int cost; Edge(int vex, int cost) { this.vex = vex; this.cost = cost; } } class Main { public int answer=0; public ArrayList graph; public int[] ch; public void DFS(int cur, int time, int sum, int[] nums){ if(time
2. 카드 점수 (+슬라이딩 윈도우) DFS 이용한 풀이 package Q2; import java.util.Arrays; public class Main { //카드 점수 //카드 종류와 뽑을 카드 수가 주어지면 //가장 왼쪽 또는 가장 오른쪽 끝에 있는 카드를 가져온다. //가져온 카드의 총 합이 가장 큰 경우를 출력 public static void main(String[] args) { // int[] nums={3,2,5,6,7,1}; // int k=3; //int[] nums={3, 1, 4, 5, 4, 1, 2, 5}; //int k=5; int[] nums={6, 7, 1, 3, 1, 4, 3, 1, 1, 5, 4, 1, 2, 5}; int k=10; System.out.println(solve(nums, k)); } sta..
1. 빈도수 정렬 (+Hash) package Q1; import java.util.*; public class Main { //1. 빈도수 정렬 public static void main(String[] args) { //String str="aaAAcccbbbBB"; String str="kdkDKKGkdkgks"; solve(str); } public static String solve(String str){ Map map = new HashMap(); String answer=""; for(char c: str.toCharArray()){ map.put(c, map.getOrDefault(c, 0)+1); } //Map.Entry로 List만들어 정렬하기 List entryList= new LinkedList(map.entryS..
[LeetCode- Part. 3] 3. 가장 느린 키 (+ 초기값 이용, arr[i]-arr[i-1]) https://leetcode.com/problems/slowest-key/submissions/ Slowest Key - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 1. 문자의 경우 대소 비교가 가능하다. -> 누르는 시간이 같을 경우 사전순으로 더 큰 키 선택 2. 동일한 문자가 여러번 등장할 수 있으므로 해시맵 사용 class Solution { public char slowestKey(int[] releaseTimes, String keysPresse..
[LeetCode- Part. 3] 2. 소행성 충돌 https://leetcode.com/problems/asteroid-collision/ Asteroid Collision - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 1. 양수는 오른쪽, 음수는 왼쪽으로 이동 2. 둘이 만날 경우 조건 분기 (1) 같을 경우 둘다 파괴 (2) 절댓값이 큰 경우가 남는다. class Solution { public int[] asteroidCollision(int[] arr) { Stack stack = new Stack(..
[LeetCode- Part. 3] 1. 회문 깨기 # (+toCharArray, valueOf) https://leetcode.com/problems/break-a-palindrome/ Break a Palindrome - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 사전적으로 가장 작은 변화를 통해 팰린드롬을 깬다. -> 팰린드롬을 결정하는 부분 전까지 a가 아닌 문자를 a로 바꾼다. ->단, 모두 a인 경우에는 마지막 자리를 b로 바꾼다. +) 세련된 풀이 class Solution { public String breakPalindrome(String..
[LeetCode- Part. 2] 5. 음식을 구하기위한 최단 경로 (+BFS) package Part2.Q6; import java.util.LinkedList; import java.util.Queue; public class Solution { public static void main(String[] args) { char[][] grid = { { 'X', 'X', 'O', 'O', 'O', 'X' }, { 'X', 'I', 'O', 'X', 'O', 'X' }, { 'X', 'O', 'O', 'X', 'F', 'X' }, { 'X', 'X', 'X', 'X', 'X', 'X' } }; System.out.println(solve(grid)); } static int n,m; static boolean [][] check; public static int solve(char..
[LeetCode- Part. 2] 4. 가장 긴 회문 부분 문자열 (+ 2차원 DP) # https://leetcode.com/problems/longest-palindromic-substring/submissions/ Longest Palindromic Substring - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com (1) 이중 for문 이용 : 타임 리밋 발생 class Solution { public String longestPalindrome(String s) { int cnt=Integer.MIN_VALUE; String answer="..

728x90
반응형