Objektif
Diberikan string suku kata Hangul, urutkan karakter dalam urutan kamus Korea Utara.
Pengantar suku kata Hangul
Hangul (한글) adalah sistem penulisan Korea yang diciptakan oleh Sejong the Great. Suku kata Hangul dialokasikan dalam titik Unicode U + AC00 - U + D7A3. Suku kata Hangul terdiri dari konsonan awal, vokal, dan konsonan akhir opsional.
Konsonan awal adalah:
ㄱ ㄲ ㄴ ㄷ ㄸ ㄹ ㅁ ㅂ ㅃ ㅅ ㅆ ㅇ ㅈ ㅉ ㅊ ㅋ ㅌ ㅍ ㅎ
Vokal adalah:
ㅏ ㅐ ㅑ ㅒ ㅓ ㅔ ㅕ ㅖ ㅗ ㅘ ㅙ ㅚ ㅛ ㅜ ㅝ ㅞ ㅟ ㅠ ㅡ ㅢ ㅣ
Konsonan terakhir adalah:
(none) ㄱ ㄲ ㄳ ㄴ ㄵ ㄶ ㄷ ㄹ ㄺ ㄻ ㄼ ㄽ ㄾ ㄿ ㅀ ㅁ ㅂ ㅄ ㅅ ㅆ ㅇ ㅈ ㅊ ㅋ ㅌ ㅍ ㅎ
Misalnya, 뷁
memiliki konsonan awal ㅂ
, vokal ㅞ
, dan konsonan akhir ㄺ
.
Urutan kamus Korea Selatan
Konsonan dan vokal di atas diurutkan dalam urutan kamus Korea Selatan. Suku kata pertama diurutkan berdasarkan konsonan awal, kedua oleh vokal, dan akhirnya oleh konsonan akhir (opsional).
Blok Unicode untuk suku kata Hangul berisi setiap kombinasi konsonan / vokal, dan seluruhnya diurutkan dalam urutan kamus Korea Selatan.
Blok Unicode dapat dilihat di sini, dan 256 karakter pertama ditampilkan untuk tujuan ilustrasi:
가각 갂 갃간 갅갆 갇갈 갋갌 갋갌 갍갎 갏감 갑값 갓갔 강갖 갗갘 같갚 갛개 객갞 객갞 갡갢 갣갤 갩갪 갩갪 갫갬 갫갬 갫갬 갯갰 갱갲 갱갲 갱갲 갹갺 갿걀 갿걀 갿걀 걁걂 걍걎 걍걎 걍걎 걏걐 걡걢 걛걜 걛걜 걛걜 걛걜 걛걜 걛걜 걛걜 걛걜 걛걜 걛걜 걕걖 걕걖 걛걜 걛걜 걕걖 걕걖 걣걤 걥걦 걧걨 걩걪 걫걬 걭걮 걯거 걱걲 걳건 걵걶 걷걸 걹걺 걻걼 걽걾 걿검 겁겂 겁겂 겄겅 겆겇 게겍 게겍 게겍 겎겏 겎겏 겒겓 겔겕 겔겕 겔겕 겔겕 겢겣 겢겣 겢겣 겤겥 겦겧 결겱 결겱 결겱 겶겷 겾겿 겼경 겼경 겼경 겼경 겼경 겼경 겼경 겼경 겼경 겼경 겼경 겼경 겼경 계곅 곆곇 곈곉 곊곋 곌곍 곎곏 곐곑 곒곓 곒곓 곔곕 곖곗 곘곙 곚곛 곞곟 고곡 고곡 곢곣 곢곣 곤곥 골곩 골곩 곮곯 곮곯 곮곯 곰곱 곰곱 곲곳 곴공 곴공 곶곷 곶곷 곶곷 과 과 곽 곾곿 곾곿
Misalnya, kalimat berikut (tanpa spasi dan tanda baca):
키스의고유조건은입술끼리만나야하고특별한기술은필요치않다
diurutkan ke:
건고고기끼나다리만별술술스않야요유은은의입조치키특필하한
Dalam C ++, jika string dalam std::wstring
, penyortiran atas adalah polos std::sort
.
Urutan kamus Korea Utara
Kamus Korea Utara memiliki urutan konsonan / vokal yang berbeda.
Konsonan awal diurutkan seperti:
ㄱ ㄴ ㄷ ㄹ ㅁ ㅂ ㅅ ㅈ ㅊ ㅋ ㅌ ㅍ ㅎ ㄲ ㄸ ㅃ ㅆ ㅉ ㅇ
Vokal diurutkan seperti:
ㅏ ㅑ ㅓ ㅕ ㅗ ㅛ ㅜ ㅠ ㅡ ㅣ ㅐ ㅒ ㅔ ㅖ ㅚ ㅟ ㅢ ㅘ ㅝ ㅙ ㅞ
Konsonan akhir diurutkan seperti:
(none) ㄱ ㄳ ㄴ ㄵ ㄶ ㄷ ㄹ ㄺ ㄻ ㄼ ㄽ ㄾ ㄿ ㅀ ㅁ ㅂ ㅄ ㅅ ㅇ ㅈ ㅊ ㅋ ㅌ ㅍ ㅎ ㄲ ㅆ
Seperti Selatan, suku kata diurutkan berdasarkan konsonan awal, kedua oleh vokal, dan akhirnya oleh konsonan akhir (opsional).
Jika kalimat di atas diberikan, hasilnya harus:
건고고기나다리만별술술스조치키특필하한끼않야요유은은입의
Aturan
Jika input berisi karakter yang tidak dalam U + AC00 - U + D7A3, itu jatuh dalam situasi tidak peduli .
Karena ini adalah kode-golf, kode terpendek dalam byte akan menang.
가까나다따라마바빠사싸아자짜차카타파
(semua konsonan awal), 가개갸걔거게겨계고과괘괴교구궈궤귀규그긔기
(semua vokal), 가각갂갃간갅갆갇갈갉갊갋갌갍갎갏감갑값갓갔강갖갗갘같갚갛
(semua konsonan tertinggal).