목록전체 글 (166)
공부기록
문제 https://programmers.co.kr/learn/courses/30/lessons/12911 코드 import java.util.*; class Solution { int min_val = 2000000000; int n_val = 0; int count_one(int n){ int cursor = 1; int one_c = 0; while(cursor
문제 https://programmers.co.kr/learn/courses/30/lessons/42883 내 코드 import java.util.*; class Solution { public String solution(String number, int k) { String answer = ""; Stack s = new Stack(); for(int i=0; i 0 && s.peek() 0){ s.pop(); k--; } while(!s.isEmpty()){ answer = s.pop() + answer; } return answer; } } 피드백 결론은 스택을 사용해서 k가 허용되는 한 내리막길을 만드..

문제 https://programmers.co.kr/learn/courses/30/lessons/42860 코드 import java.util.*; class Solution { public int solution(String name) { int answer = 20; int cursor = 0; int predicate[] = new int[4]; for(int i=0; i
문제 코드 import java.util.*; class Solution { public String solution(int[] numbers) { String answer = ""; boolean all_zero = true; for(int i=0; i (y+x).compareTo(x+y)); /* this is wrong~~!! */ // PriorityQueue pq2 = new PriorityQueue( // new Comparator(){ // public int compare(String a, String b){ // String ta = a; // String tb = b; // while(ta.length() != tb.length()){ // if(ta.length() < tb.lengt..
문제 https://algospot.com/judge/problem/read/WILDCARD# 코드 #include #include using namespace std; bool match(const string& w, const string& s) { int pos = 0; while (pos < w.size() && pos < s.size() && (w[pos] == '?' || w[pos] == s[pos])) pos++; if (pos == w.size()) return w.size() == s.size(); if (w[pos] == '*') { for (int skip = 0; pos + skip
문제 https://programmers.co.kr/learn/courses/30/lessons/84021# 코드 import java.util.*; class Solution { int max_idx; int max_val = -1; int mv[][] = { {-1,0}, {0,1}, {1,0}, {0,-1} }; class Node{ int row; int col; public Node(int row, int col){ this.row = row; this.col = col; } } private Vector mark_table(int[][] table){ boolean[][] visit = new boolean[table.length][table.length]; Vector size_v = new..
문제 https://algospot.com/judge/problem/read/FENCE 코드 #include #include #include using namespace std; void dfs(vector &inputs, int &max_val, int start, int end) { if (start > end) return; int min_val = 2e9; int min_idx = start; for (int i = start; i inputs[i]) { min_val = inputs[i]; min_idx = i; } } max_val = max(max_val, min_val * (end - start + 1)); dfs(inputs, max_val, start, min_idx - 1); dfs(..
문제 https://algospot.com/judge/problem/read/CLOCKSYNC 코드 #include #include #include using namespace std; vector v; int clocks[16]; int min_val = 2e9; bool is_ans() { for (int i = 0; i < 16; i++) { if (clocks[i] != 0) return false; } return true; } void dfs(int cur_idx, int cur_count, int tot_count) { if (cur_idx == 10) { if(is_ans()) min_val = min(min_val, tot_count); } else { if (cur_count < 3) ..