QR 디코딩

시간 제한1초메모리 제한128 MB

요약
19바이트 QR 데이터 코드워드를 비트 단위로 읽어 숫자, 영숫자, 바이트, 간지 모드 세그먼트를 해독하고 지정된 형식으로 출력합니다.
난이도

보통10점 중 6점

유형
비트 연산, 문자열, 구현, 시뮬레이션
정답자
아직 제출이 없습니다

문제

QR \uCF54\uB4DC\uB294 \uCD5C\uC18C 21\u00D721\uAC1C\uC758 \uB2E8\uC704 \uD53D\uC140\uB85C \uC774\uB8E8\uC5B4\uC9C4 \uC815\uC0AC\uAC01\uD615 \uD751\uBC31 \uD53D\uC140 \uD589\uB82C\uC774\uB2E4. \uD53D\uC140\uC740 \uC704\uCE58 \uAC10\uC9C0 \uD328\uD134, \uD0C0\uC774\uBC0D \uD328\uD134, \uC11C\uC2DD \uC815\uBCF4, \uB370\uC774\uD130 \uBC0F \uC624\uB958 \uC218\uC815 \uCF54\uB4DC, \uADF8\uB9AC\uACE0 \uB354 \uD070 QR \uCF54\uB4DC\uC5D0\uC11C \uC4F0\uC774\uB294 \uBCF4\uC815 \uD328\uD134\uACFC \uBC84\uC804 \uC815\uBCF4 \uB4F1\uC73C\uB85C \uB098\uB25C\uB2E4.

\uC774 \uBB38\uC81C\uC5D0\uC11C\uB294 21\u00D721 \uD06C\uAE30 QR \uCF54\uB4DC\uC758 \uB370\uC774\uD130 \uBD80\uBD84\uB9CC \uB2E4\uB8EC\uB2E4. \uC774 \uD06C\uAE30\uC758 QR \uCF54\uB4DC\uB294 \uB370\uC774\uD130 \uBC0F \uC624\uB958 \uC218\uC815 \uCF54\uB4DC 26\uAC1C\uB97C \uAC00\uC9C0\uBA70, \uADF8\uC911 \uC55E\uC758 19\uAC1C\uAC00 \uB370\uC774\uD130 \uCF54\uB4DC\uC774\uB2E4. \uAC01 \uB370\uC774\uD130 \uCF54\uB4DC\uB294 8\uBE44\uD2B8\uC774\uACE0, \uC785\uB825\uC5D0\uC11C\uB294 \uC774 19\uAC1C\uC758 \uB370\uC774\uD130 \uCF54\uB4DC\uB97C 38\uC790\uB9AC 16\uC9C4\uC218 \uBB38\uC790\uC5F4\uB85C \uC900\uB2E4. \uC8FC\uC5B4\uC9C4 \uB370\uC774\uD130 \uCF54\uB4DC\uC5D0\uC11C \uC6D0\uB798 \uC815\uBCF4\uB97C \uBCF5\uC6D0\uD558\uB77C.

\uBE44\uD2B8\uB294 \uC8FC\uC5B4\uC9C4 19\uBC14\uC774\uD2B8\uC758 \uAC00\uC7A5 \uC55E \uBE44\uD2B8\uBD80\uD130 \uCC28\uB840\uB300\uB85C \uC77D\uB294\uB2E4. \uAC01 \uAD6C\uAC04\uC740 4\uBE44\uD2B8\uC758 mode bit\uB85C \uC2DC\uC791\uD558\uACE0, mode\uC5D0 \uB530\uB77C \uBB38\uC790 \uC218\uB97C \uB098\uD0C0\uB0B4\uB294 count bits\uC640 \uBB38\uC790 \uC815\uBCF4\uAC00 \uC774\uC5B4\uC9C4\uB2E4.

Mode NameMode BitsCount Bits
Numeric000110
Alphanumeric00109
8 bit byte01008
Kanji10008
Termination00000

Termination mode\uC778 0000\uC744 \uB9CC\uB098\uBA74 \uB370\uC774\uD130\uAC00 \uB05D\uB09C\uB2E4. \uB370\uC774\uD130 \uACF5\uAC04\uC774 \uBD80\uC871\uD55C \uACBD\uC6B0 termination mode\uB294 \uC0DD\uB7B5\uB418\uAC70\uB098 \uC77C\uBD80 \uBE44\uD2B8\uB9CC \uB0A8\uC744 \uC218 \uC788\uB2E4. \uC885\uB8CC \uB4A4 \uB0A8\uC740 \uBE44\uD2B8\uC640 padding byte 11101100, 00010001\uC740 \uD574\uC11D\uD558\uC9C0 \uC54A\uB294\uB2E4.

Numeric mode\uB294 \uC22B\uC790\uB85C\uB9CC \uC774\uB8E8\uC5B4\uC9C4 \uBB38\uC790\uC5F4\uC744 \uC800\uC7A5\uD55C\uB2E4. mode bit 0001 \uB2E4\uC74C\uC758 10\uBE44\uD2B8\uAC00 \uC22B\uC790 \uAC1C\uC218\uC774\uB2E4. \uC774\uD6C4 \uC22B\uC790\uB97C \uC67C\uCABD\uBD80\uD130 3\uC790\uB9AC\uC529 \uB04A\uC5B4 \uAC01 \uBB36\uC74C\uC744 10\uBE44\uD2B8 \uC815\uC218\uB85C \uC800\uC7A5\uD55C\uB2E4. \uB9C8\uC9C0\uB9C9\uC5D0 2\uC790\uB9AC\uAC00 \uB0A8\uC73C\uBA74 7\uBE44\uD2B8, 1\uC790\uB9AC\uAC00 \uB0A8\uC73C\uBA74 4\uBE44\uD2B8\uB85C \uC800\uC7A5\uD55C\uB2E4. \uC608\uB97C \uB4E4\uC5B4 12345678\uC740 123, 456, 78\uB85C \uB098\uB258\uBA70 \uAC01\uAC01 0001111011, 0111001000, 1001110\uC73C\uB85C \uD45C\uD604\uB41C\uB2E4.

Alphanumeric mode\uB294 \uB2E4\uC74C 45\uAC1C \uBB38\uC790\uB9CC \uD3EC\uD568\uD558\uB294 \uBB38\uC790\uC5F4\uC744 \uC800\uC7A5\uD55C\uB2E4. \uBB38\uC790 \uC21C\uC11C\uB294 \uB2E4\uC74C\uACFC \uAC19\uB2E4.

0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:

mode bit 0010 \uB2E4\uC74C\uC758 9\uBE44\uD2B8\uAC00 \uBB38\uC790 \uAC1C\uC218\uC774\uB2E4. \uB450 \uBB38\uC790\uC529 \uBB36\uC5B4 \uCCAB \uBC88\uC9F8 \uBB38\uC790\uC758 \uBC88\uD638 \u00D7 45 + \uB450 \uBC88\uC9F8 \uBB38\uC790\uC758 \uBC88\uD638\uB97C 11\uBE44\uD2B8\uB85C \uC800\uC7A5\uD55C\uB2E4. \uB9C8\uC9C0\uB9C9\uC5D0 \uBB38\uC790 \uD558\uB098\uAC00 \uB0A8\uC73C\uBA74 \uADF8 \uBB38\uC790\uC758 \uBC88\uD638\uB97C 6\uBE44\uD2B8\uB85C \uC800\uC7A5\uD55C\uB2E4. \uC608\uB97C \uB4E4\uC5B4 AC-42\uC758 \uBB38\uC790 \uBC88\uD638\uB294 10, 12, 41, 4, 2\uC774\uACE0 \uB450 \uBB36\uC74C\uC740 462\uC640 1849\uAC00 \uB41C\uB2E4.

8 bit byte mode\uB294 mode bit 0100 \uB2E4\uC74C\uC758 8\uBE44\uD2B8\uB85C \uBC14\uC774\uD2B8 \uAC1C\uC218\uB97C \uC800\uC7A5\uD558\uACE0, \uC774\uC5B4\uC11C \uAC01 \uBB38\uC790\uB97C 8\uBE44\uD2B8 \uAC12 \uD558\uB098\uB85C \uC800\uC7A5\uD55C\uB2E4. Kanji mode\uB294 mode bit 1000 \uB2E4\uC74C\uC758 8\uBE44\uD2B8\uB85C \uBB38\uC790 \uAC1C\uC218\uB97C \uC800\uC7A5\uD558\uACE0, \uC774\uC5B4\uC11C \uAC01 \uBB38\uC790\uB97C 13\uBE44\uD2B8 \uAC12 \uD558\uB098\uB85C \uC800\uC7A5\uD55C\uB2E4.

\uBAA8\uB4E0 mode\uC5D0\uC11C \uBCF5\uC6D0\uD55C \uBB38\uC790\uB294 \uB4F1\uC7A5\uD55C \uC21C\uC11C\uB300\uB85C \uC774\uC5B4 \uBD99\uC778\uB2E4.

입력

\uCCAB \uC904\uC5D0 \uD14C\uC2A4\uD2B8 \uCF00\uC774\uC2A4\uC758 \uC218 P\uAC00 \uC8FC\uC5B4\uC9C4\uB2E4. (1 \u2264 P \u2264 1000)

\uAC01 \uD14C\uC2A4\uD2B8 \uCF00\uC774\uC2A4\uB294 \uD55C \uC904\uC5D0 \uC8FC\uC5B4\uC9C4\uB2E4. \uD55C \uC904\uC740 19\uAC1C\uC758 \uB370\uC774\uD130 \uCF54\uB4DC\uC774\uBA70, \uC815\uD655\uD788 38\uAC1C\uC758 16\uC9C4\uC218 \uBB38\uC790\uB85C \uD45C\uD604\uB41C\uB2E4. \uBB38\uC790\uB294 0-9\uC640 A-F\uB9CC \uC8FC\uC5B4\uC9C4\uB2E4.

출력

\uAC01 \uD14C\uC2A4\uD2B8 \uCF00\uC774\uC2A4\uB9C8\uB2E4 \uD55C \uC904\uC744 \uCD9C\uB825\uD55C\uB2E4.

\uBA3C\uC800 \uBCF5\uC6D0\uB41C \uBB38\uC790\uC758 \uC218\uB97C \uB098\uD0C0\uB0B4\uB294 \uC815\uC218 \uD558\uB098\uB97C \uCD9C\uB825\uD55C\uB2E4. \uC774 \uC218\uB294 \uCD9C\uB825\uC6A9 escape\uB97C \uC801\uC6A9\uD558\uAE30 \uC804\uC758 \uBB38\uC790 \uC218\uC774\uB2E4. \uADF8 \uB4A4\uC5D0 \uACF5\uBC31 \uD558\uB098\uB97C \uCD9C\uB825\uD558\uACE0, \uBCF5\uC6D0\uD55C \uBB38\uC790\uC5F4\uC744 \uCD9C\uB825\uD55C\uB2E4.

8 bit byte mode\uC5D0\uC11C \uC5BB\uC740 \uAC12\uC774 \uCD9C\uB825 \uAC00\uB2A5\uD55C ASCII \uBB38\uC790(0x20\uBD80\uD130 0x7e\uAE4C\uC9C0)\uC774\uBA74 \uADF8 \uBB38\uC790\uB97C \uADF8\uB300\uB85C \uCD9C\uB825\uD55C\uB2E4. \uB2E8, \uBC31\uC2AC\uB798\uC2DC()\uB294 \\uB85C, #\uC740 #\uC73C\uB85C \uCD9C\uB825\uD55C\uB2E4.

\uCD9C\uB825 \uAC00\uB2A5\uD55C ASCII \uBB38\uC790\uAC00 \uC544\uB2CC 8\uBE44\uD2B8 \uAC12\uC740 \xx \uD615\uC2DD\uC73C\uB85C \uCD9C\uB825\uD55C\uB2E4. \uC5EC\uAE30\uC11C xx\uB294 \uB450 \uC790\uB9AC \uB300\uBB38\uC790 16\uC9C4\uC218\uC774\uB2E4. \uC608\uB97C \uB4E4\uC5B4 0xAE\uB294 \AE\uB85C \uCD9C\uB825\uD55C\uB2E4.

Kanji mode\uC5D0\uC11C \uC5BB\uC740 13\uBE44\uD2B8 \uAC12\uC740 \uD56D\uC0C1 #bxxx \uD615\uC2DD\uC73C\uB85C \uCD9C\uB825\uD55C\uB2E4. bxxx\uB294 \uB124 \uC790\uB9AC \uB300\uBB38\uC790 16\uC9C4\uC218\uC774\uBA70, b\uB294 0 \uB610\uB294 1\uC774\uB2E4. \uC608\uB97C \uB4E4\uC5B4 0x13AC\uB294 #13AC\uB85C \uCD9C\uB825\uD55C\uB2E4.

예제1

  1. 예제 1

    입력
    4
    10207B72271014E77390900D164A8C00EC11EC
    802D5E0D1400EC11EC11EC11EC11EC11EC11EC
    20BB1AA65F9FD7DC0ED88C973E15EF533EB0EC
    2010B110888D9428D937193B9CEA0D7F45DF68
    예상 출력
    16 12345678AC-42E\92\A3
    2 #1ABC#0345
    23 HTTP://WWW.ACMGNYR.ORG/
    36 3.1415926535897932384626433832795028