본문 바로가기

Algorithm/Algospot

(16)
[algospot]Ratio 문제 https://algospot.com/judge/problem/read/RATIO 게임의 총 게임횟수와 승리수가 주어질때 현재의 승률보다 1% 승률을 올리기 위해서 필요한 승리 수를 구하는 문제이다. 현재승률은 값을 구했을 때 1.34343434345555% 라면 내림으로해서 1%인것으로 한다. 입력 게임횟수 N은 1
[algospot]DRAWRECT 문제 https://algospot.com/judge/problem/read/DRAWRECT 직사각형을 이루는 네 점중에 세 점을 입력하면 나머지 점의 좌표를 출력해주는 프로그램을 만들어라~ 입력 세점의 좌표 출력 나머지 좌표 풀이 처음 이문제를 풀려고 할때는 세점을 받아서 중복검사를해서~ 풀려고하다가~~ 뭔가 복잡해지는것같아서~ 남겨두고 다음문제로 넘어갔다가 ~ 다시 풀려고하니까 xor을 쓰면 되겠다고 생각해서 적용했더니 되더라; 그러하다; package com.tutorial; import java.io.BufferedReader; import java.io.InputStreamReader; public class DRAWRECT { public static void main(String[] args..
[algospot]FIXPAREN 문제 https://algospot.com/judge/problem/read/FIXPAREN 또 괄호닫기 문제다. 이번에는 괄호의 우선순위가 있고 우선순위에 맞게 괄호쌍을 변경해줘야한다. 입력된 괄호문자열이 (}고 {( 0) { String[] a = br.readLine().split(" "); b = a[0].toCharArray(); p = a[1].toCharArray(); int left = 0; char temp; Stack s = new Stack(); for (int i = 0; i < p.length; i ++) { for (int j = 0; j < p.length; j ++) { if (p[i] == lp[j]) { temp = lp[j]; lp[j] = lp[i..
[algospot]BRACKETS2 문제 https://algospot.com/judge/problem/read/BRACKETS2 3가지 괄호 () {} [] 가 섞인 문자열이 나온다. 같은종류의 괄호쌍들이 잘 열리고 닫혔는지 확인하는 문제 입력 10000개 미만의 () {} [] 가 섞인 문자열~ 출력 올바르게 열리고 닫혔으면 YES 잘못 열리고 닫혔으면 NO 풀이 괄호가 열리는것을 계속 저장해야한다.제일 마지막에 열린것부터 닫아 나가야 하기때문이다. 문자열을 통해서 마지막에 붙여나가는방법도 있지만 이럴때 생각나는 것이 리눅스 공부할때 스택구조다. 열리는 괄호가 나오면 스택에 축하고 닫히는게 나오면 스택에서 하나pop한다음에 괄호쌍인지 비교하는 방법을 통해서 문제를 풀 수 있다. package com.tutorial; import jav..
[algospot]HAMMINGCODE 문제 https://algospot.com/judge/problem/read/HAMMINGCODE 해밍코드(http://ko.wikipedia.org/wiki/%ED%95%B4%EB%B0%8D_%EB%B6%80%ED%98%B8) 해밍코드란 리처드 해밍이 제안한 오류정정코드다. 보통 해밍코드라고하면 (7,4)해밍코드를 뜻한다. (7,4)해밍코드는 4비트 데이터비트와 3비트의 패리티비트로 이루어진다. 좀더 알아보기위해서 1000을 해밍코드로 변환해보자. 7비트중에 패리티비트의 위치는 2의거듭재곱번째 위치에 있는 비트가 패리티 비트가 된다. 1 2 3 4 5 6 7 2^0자리 2^1자리 2^2자리 1 0 0 0 위의 표와같이 메세지 1000을 배치한 후에 패리티비트를 채워준다. 1 : 1자리부터 시작해서 1비..
[algospot]WEIRD 문제 https://algospot.com/judge/problem/read/WEIRD weird number (http://en.wikipedia.org/wiki/Weird_number) A natural number that is abundant but not semiperfect; one for which the sum of the proper divisors (including 1 but not itself) is greater than the number, but no subset of those divisors sums to the number itself. 위키검색결과......뭔소리지;; 어렵다...번역기를 돌려봐도 ... 뭥미 해석해보자면 충만하지만 not semiperfect한 자연수이..
[algospot]URI 문제 https://algospot.com/judge/problem/read/URI URI는 인터넷에서 사용되는 자원을 구분하는데 사용되는 문자열이다. URI를 전송할 때 퍼센트 인코딩을 가지고 우리는 특수문자를 피할 수 있다. 퍼센트 인코딩은 아스키 문자의 두자리 16진수 앞에 %를 붙여서 표현한다. 여기서 문제~ 이 작업을 반대로하는 프로그램을 작성하라~ 입력 1건 이상 100건 이하의 최대 80글자의 암호화된 문자열 출력 복호화된 URI. 풀이 입력받은 URI문자열에 대해서 %xX문자를 특수문자로 치환한다. package com.tutorial; import java.io.BufferedReader; import java.io.InputStreamReader; public class URI { pu..
[algospot]XHAENEUNG 문제 https://algospot.com/judge/problem/read/XHAENEUNG 수학과 영어를 동시에 가르치는 학습지의 채점을 하는 프로그램을 만들어야 한다. A operation B = C 위의 형식과같이 단순 덧셈(+),뺄셈(-),곱셈(*) 이고 A와 B는 0~10까지의 영단어(zero~ ten)가 들어온다. 다행인것은 C는 0이상 10이하의 수가 되고 그 이외에는 오답으로 처리한다. 그리고 C는 만약에 정답이 3이고 입력된 단어가 three가 되지만 trere theer도 정답으로 인정한다. 순서가 섞여있는것까지 정답으로 인정하도록 한다. 입력 two + three = ivef 와 같이 공백으로 구분되는 소문자로감 구성되어있는 문자열 출력 맞으면 YES 틀리면 NO 풀이 입력된 문자열..