전체 글

Line:19 Stack클래스는 vector클래스를 상속받고 있기 때문에 get(i)메서드로 i번째 인자에 접근이 가능하다 Line:11 k-- > 0을 조건식에 붙어주는게 깔끔한 코드인듯 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 import java.util.*; class Solution { public String solution(String number, int k) { char[] res = new char[number.length()-k]; Stack st = new Stack(); for(int i=0; i=0; i--){ res[i] = st.get(i); } return new String(res); } } Co..
근의 공식 ↓ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 class Solution { public int[] solution(int brown, int yellow) { // ax^2 + bx + c = 0의 근의 공식 // int a = 1; int b = -(brown+4)/2; int c = brown + yellow; int hw1 = (-b +(int)(Math.sqrt(b*b-4*c)) )/2; int hw2 = (-b -(int)(Math.sqrt(b*b-4*c)) )/2; // System.out.println(h1); // System.out.println(h2); int h = Math.min(hw1,hw2); int w = Math.max(hw1..
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 import java.util.*; class Solution { public int solution(int[] citations) { int h = 0; Arrays.sort(citations); int len = citations.length; // System.out.println(Arrays.binarySearch(citations, 3)); while(true){ int idx = Arrays.binarySearch(citations, h); if(idx=1 &&..
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 import java.util.*; class Solution { public int solution(int bridge_length, int max_weight, int[] truck_weights){ List inList = new LinkedList(); Queue waitList = new LinkedList(); for(int i=0; i
집합 A,B,... ,N들의 조합의 수 (A의 개수+1) * (B의 개수+1) * ... * (N의 개수 +1) - 1(공집합) 집합의 개수에서 1을 더하는 이유는 집합의 원소에서 null을 하나 더하는 것과 같다 마지막에 공집합으로 -1을 빼는 이유는 A,B,...,N의 집합들에 임의로 넣은 null의 원소들로만 이루어진 경우의 수를 빼는거임 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import java.util.*; class Solution { public int solution(String[][] clothes) { Map map = new HashMap(); for(int i=0; i
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455import java.util.*; class Solution { public int solution(int N, int[][] road, int K) { int[][] maps = new int[N+1][N+1]; for(int i=1; i
효율성 검사 있을줄 알았는데 없엇다.. 그냥 문자열 떼고 붙이고 검사하고 떼고 붙이고 검사해도됨.. 속도는 느리지만 통과는 된다 나는 규칙을 찾으려고 노력했는데 1. 일단 홀수는 올바른 괄호 문자열 절대 못 만듬 2. s + s.substring(0, s.length()-1)해서 만든 string의 올바른 괄호 문자열 List들의 원소들의 총 합이 기존 s.length()보다 커야함 (Line:54) 3. Line:57~69는 누적합같은거로한듯..? 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 ..
이건 좀더 보완해본건데.. 로직 진짜 헷갈린다 Line:11~31 4중 for문 지옥이다..개헷갈림 바로 밑에건 "100r" "ion" "100" "rion"나오면 틀리는 코드임 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152import java.util.*; class Solution { public int solution(String[][] relation) { int answer = 0; int rowSize = relation.length; int colSize = relation[0].length; // candiKey 후보리스트 List ckCandiList = new L..
참고 : https://www.youtube.com/watch?v=eBQtFteduyw&t=572s 인덱싱 + 이진 탐색에 대한 이해가 조금 필요한 문제임 인덱싱은 참고 유튜브 보면서 이해했고 ( - 하이픈이 해당 정보에 무엇이 와도 상관이 없음인데 이것도 인덱스에 추가해서 정보를 받을 때, ex) "java backend junior pizza 150" 위의 신입 사원 정보를 받을 때 "java backend junior pizza 150" "java backend junior - 150" "java backend - pizza 150" "java backend - - 150" "java - junior pizza 150" "java - junior - 150" "java - - pizza 150" "..
다른 사람의 풀이 class Solution { public int solution(int n, int a, int b) { return Integer.toBinaryString((a-1)^(b-1)).length(); } } 더 간략하게 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 class Solution { public int solution(int n, int a, int b) { int answer = 0; while(a!=b){ a = (a+1)/2; b = (b+1)/2; answer++; } return answer; } } Colored by Color Scripter cs 맨 처음 푼 방식 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1..
배게
백엔드