2014년 10월 15일 수요일

[AlgoSpot] HammingCode

  • 단순 해밍코드 구현입니다. 이문제에서는 7 4 해밍코드 구현입니다.



 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
import java.util.Scanner;

public class HAMMINGCODE {

    public static void main(String[] args) {
  Scanner sc = new Scanner(System.in);
  int cases = sc.nextInt();
  while (cases-- > 0) {
   String sInput = sc.next();
   char[] cInput = sInput.toCharArray();
   int iParity = (cInput[0]^cInput[2]^cInput[4]^cInput[6])*1+(cInput[1]^cInput[2]^cInput[5]^cInput[6])*2+(cInput[3]^cInput[4]^cInput[5]^cInput[6])*4;
   if(iParity != 0){
    cInput[iParity-1] = cInput[iParity-1]=='0'?'1':'0';
   }
   char[] output = new char[]{cInput[2],cInput[4],cInput[5],cInput[6]};
   System.out.println(output);
  }
    }
}

  • 취준생의 공부 정리 방입니다. algospot 게시물에서 문제 풀이에 대한 포스팅은 언제나 환영이라는 글을 보았기에 정리겸, 공부겸 겸사겸사 문제풀이를 올립니다. 저작권에 문제 있을시 자삭하겠습니다.
  • 엉터리일수도(아마도 대부분) 느리기도 하지만 풀었다는 것에 의의를 두고 있습니다.
  • 댓글 없음:

    댓글 쓰기