💡 CodingTest/UVa

    [Java] 비토와 친적들 (Vito's Family) - UVa 10041 문제

    [Java] 비토와 친적들 (Vito's Family) - UVa 10041 문제

    [Java] 비토와 친적들 (Vito's Family) - UVa 10041 문제 onlinejudge.org/index.php?option=onlinejudge&Itemid=8&page=show_problem&problem=982 Online Judge 10041 - Vito's Family Time limit: 3.000 seconds onlinejudge.org 문제 설명 내 코드 👑 Key Point 학교에서 수정을 좀 했는지 모르겠지만 최솟값을 찾기 위하여 저장할 변수에 큰값을 처음 초기화해 준다음 작으면 업데이트 해주는 가장 기초적 문제

    [Java] 구두 수선공 문제 (shoemaker's problem) - UVa 10026 문제

    [Java] 구두 수선공 문제 (shoemaker's problem) - UVa 10026 문제

    [Java] 구두 수선공 문제 (shoemaker's problem) - UVa 10026 문제 onlinejudge.org/index.php?option=onlinejudge&Itemid=8&page=show_problem&problem=967 Online Judge 10026 - Shoemaker's Problem Time limit: 3.000 seconds onlinejudge.org 문제 설명 내 코드 👑 Key Point 인접한 두개의 곱셈을 이용하여 Index 행렬을 정렬하는 것이라 버블정렬을 이용하는것이 매우 쉽게 풀 수 있다. if(T[priority[y]]*P[priority[y+1]]>T[priority[y+1]]*P[priority[y]]) 다만 Bubble 정렬의 조건식 부분에서 ..

    [Java] 다리 bridge - Uva 10037 문제

    [Java] 다리 bridge - Uva 10037 문제

    [Java] 다리 bridge - Uva 10037 문제 문제설명 내 코드 👑 Key Point len2라면 이 때부터 최소가 되는 거리는 두가지 Case로 나뉜다. 최소가 되는 것은 이 두가지 중 하나 밖에 없음 Case 1 : dis[1]*2+ dis[0]+dis[j] : 처음 최소거리 2개(dis[0], dis[1]) 를 먼저 옮긴뒤 첫번째(dis[0])가 플래쉬를 가지고 되돌아 오고 ,맨 끝에 있는 최대의 거리 두가지(dis[j-1]+dis[j]) 를 같이 옮긴뒤 최소에서 두번째 dis[1]가 플래쉬를 가지고 되돌아오는 경우에 걸리는 거리 Case 2 : 2*dis[0]+dis[j]+dis[j-1] : 처음 최소거리랑 최대거리 (dis[0], dis[j]) 를 먼저 옮긴뒤 첫번째(dis[0])가 ..

    [Java] 백준 1786번 찾기 문제 - KMP 알고리즘

    [Java] 백준 1786번 찾기 문제 - KMP 알고리즘

    [Java] 백준 1786번 찾기 문제 - KMP 알고리즘 www.acmicpc.net/problem/1786 1786번: 찾기 첫째 줄에, T 중간에 P가 몇 번 나타나는지를 나타내는 음이 아닌 정수를 출력한다. 둘째 줄에는 P가 나타나는 위치를 차례대로 공백으로 구분해 출력한다. 예컨대, T의 i~i+m-1번 문자와 P의 1~m�� www.acmicpc.net 문제 설명 내 코드 🎨 Key Point 단어 안에 단어가 몇번 ? 어디에? 포함되어있는 가를 묻는 문제이다 예를들어 I have an apple. I have a pen. 이라는 문장안에 have가 몇번 어느 위치에 있는지 알아내는 문제이다. 시간복잡도의 효율성을 생각하지 않는다면 매우 쉽게 풀 수 있으나, 이 문제가 어려운 이유는 O(n)의..

    [Java] UVa 848번 문제 - fmt

    [Java] UVa 848번 문제 - fmt

    [Java] UVa 848번 문제 - fmt onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=10&page=show_problem&problem=789 Online Judge 848 - Fmt Time limit: 3.000 seconds onlinejudge.org 문제 설명 내 코드 🎨 Key Point 전체 줄을 합친 다음에 단어 하나하나를 Split하여 72개가 넘는지 안넘는지에 초점을 맞췄다. 거의 때려 맞추기 식으로 맞춘 풀이라 더 좋은 풀이가 있을거라 생각 된다.

    [Java] UVa 10150 더블릿(Doublets) 문제 - BFS 최단경로 알고리즘

    [Java] UVa 10150 더블릿(Doublets) 문제 - BFS 최단경로 알고리즘

    [Java] UVa 10150 더블릿(Doublets) 문제 onlinejudge.org/index.php?option=onlinejudge&Itemid=8&page=show_problem&problem=1091 Online Judge 10150 - Doublets Time limit: 3.000 seconds onlinejudge.org 문제 설명 내 코드 🎨 Key Point 이 문제가 BFS 최단경로 알고리즘을 써야하는 이유는 최단 경로를 찾으라고 하였기 때문이다. 답은 여러개가 나올 수 있으나 최단 경로를 찾으라 하였다

    [Java] 암호 깨기 II (Crypt kicker II) - UVa 850문제

    [Java] 암호 깨기 II (Crypt kicker II) - UVa 850문제

    [Java] 암호 깨기 II (Crypt kicker II) - UVa 850문제 onlinejudge.org/index.php?option=onlinejudge&page=show_problem&problem=791 Online Judge 850 - Crypt Kicker II Time limit: 3.000 seconds onlinejudge.org 문제 설명 내 코드 🔑 Key Point 🔑 //해당 암호 해쉬에 저장 for(String str: cryptlist){ if(str.length()==standard.length()){ TreeMap rule_copy = new TreeMap(); for(int j=0 ; j

    [Java] 월도르프를 찾아라 Where's waldorf?  - UVa 10010번 문제

    [Java] 월도르프를 찾아라 Where's waldorf? - UVa 10010번 문제

    [Java] 월도르프를 찾아라 Where's waldorf? - UVa 10010번 문제 문제 설명 내 코드 🔑 Key Point 🔑 mxn 짜리 사각형에서 첫글자가 발견되는 곳 기준으로 8개의 방향을 다 조사 해야 한다. 우선 길이가 안되면 조사할 필요가 없기 때문에 동,서,남,북으로 길이가 되는지 부터 Boolean 타입으로 넣어놓으면 if문을 사용할 때 편하다. leng은 찾을 단어의 길이이다. boolean up = (row+1) >= leng; boolean left = (column+1) >= leng; boolean right = (columns-column) >= leng; boolean down = (rows-row) >= leng;

    [Java] WERTYU 문제 -  UVa 10082번 Programming Challenges 문제 17번

    [Java] WERTYU 문제 - UVa 10082번 Programming Challenges 문제 17번

    [Java] WERTYU 문제 - UVa 10082번 Programming Challenges 문제 17번 문제 설명 내 코드 import java.io.*; import java.util.*; class Main { public static void main(String[] args) throws Exception { Scanner scanner = new Scanner(System.in); String keyboard = "`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;\'ZXCVBNM,./"; while(scanner.hasNextLine()){ String input = scanner.nextLine(); for(int i=0; i

    [Java]  공통된 변경 문자열(Common Permutation)

    [Java] 공통된 변경 문자열(Common Permutation)

    UVa Online Judge - 10252번 Common Permutation [Java] 공통된 변경 문자열(Common Permutation) 문제 설명 내 코드 import java.io.*; import java.util.*; class Main { public static void main(String[] args) throws Exception { Scanner scanner = new Scanner(System.in); while(scanner.hasNextLine()){ String input1 =scanner.nextLine(); String input2 =scanner.nextLine(); Vector str1 = new Vector(); Vector str2 = new Vector(..