L'objectif
Étant donné une chaîne de syllabes Hangul, triez les caractères dans l'ordre du dictionnaire nord-coréen.
Introduction aux syllabes Hangul
Hangul (한글) est le système d'écriture coréen inventé par Sejong le Grand. Les syllabes Hangul sont attribuées au point Unicode U + AC00 - U + D7A3. Une syllabe Hangul se compose d'une consonne initiale, d'une voyelle et d'une consonne finale facultative.
Les consonnes initiales sont:
ㄱ ㄲ ㄴ ㄷ ㄸ ㄹ ㅁ ㅂ ㅃ ㅅ ㅆ ㅇ ㅈ ㅉ ㅊ ㅋ ㅌ ㅍ ㅎ
Les voyelles sont:
ㅏ ㅐ ㅑ ㅒ ㅓ ㅔ ㅕ ㅖ ㅗ ㅘ ㅙ ㅚ ㅛ ㅜ ㅝ ㅞ ㅟ ㅠ ㅡ ㅢ ㅣ
Les consonnes finales sont:
(none) ㄱ ㄲ ㄳ ㄴ ㄵ ㄶ ㄷ ㄹ ㄺ ㄻ ㄼ ㄽ ㄾ ㄿ ㅀ ㅁ ㅂ ㅄ ㅅ ㅆ ㅇ ㅈ ㅊ ㅋ ㅌ ㅍ ㅎ
Par exemple, 뷁
a une consonne initiale ㅂ
, une voyelle ㅞ
et une consonne finaleㄺ
.
Ordre du dictionnaire sud-coréen
Les consonnes et les voyelles ci-dessus sont triées dans l'ordre du dictionnaire sud-coréen. Les syllabes sont d'abord triées par consonnes initiales, ensuite par voyelles, et enfin par consonnes finales (facultatives).
Le bloc Unicode pour les syllabes Hangul contient toutes les combinaisons consonne / voyelle et est entièrement trié dans l'ordre du dictionnaire sud-coréen.
Le bloc Unicode peut être vu ici, et les 256 premiers caractères sont affichés à des fins d'illustration:
가각 갂 갃간 갅갆 갇갈 갉갊 갋갌 갍갎 갏감 갑값 갓갔 강갖 갗갘 같갚 갛개 객갞 갟갠 갡갢 갣갤 갥갦 갧갨 갩갪 갫갬 갭갮 갯갰 갱갲 갳갴 갵갶 갷갸 갹갺 갻갼 갽갾 갿걀 걁걂 걃걄 걅걆 걇걈 걉걊 걋걌 걍걎 걏걐 걑걒 걓걔 걕걖 걗걘 걙걚 걛걜 걝걞 걑걒 걣걤 걥걦 걧걨 걩걪 걫걬 걭걮 걯거 걱걲 걳건 걵걶 걷걸 걹걺 걻걼 걽걾 걿검 겁겂 것 겄겅 겆겇 겈겉 겊겋 게겍 겎겏 겐겑 겒겓 겔겕 겖겗 겘겙 겚겛 겜겝 겞겟 겠겡 겢겣 겤겥 겦겧 겨격 겪겫 견겭 겮겯 결겱 겲겳 겴겵 겶겷 겸겹 겺겻 겼경 겾겿 곀곁 곂곃 계곅 곆곇 곈곉 곊곋 곌곍 곎곏 곐곑 곒곓 곔곕 곖곗 곘곙 곚곛 곜곝 곞곟 고곡 곢곣 곤곥 곦곧 골곩 곪곫 곬곭 곮곯 곰곱 곲곳 곴공 곶곷 곸곹 곺곻 과 곽 곾곿
Par exemple, la phrase suivante (sans espaces ni ponctuations):
키스의고유조건은입술끼리만나야하고특별한기술은필요치않다
est trié en:
건고고기끼나다리만별술술스않야요유은은의입조치키특필하한
En C ++, si la chaîne est dedans std::wstring
, le tri ci-dessus est simplestd::sort
.
Ordre du dictionnaire nord-coréen
Le dictionnaire nord-coréen a un ordre de consonne / voyelle différent.
Les consonnes initiales sont triées comme:
ㄱ ㄴ ㄷ ㄹ ㅁ ㅂ ㅅ ㅈ ㅊ ㅋ ㅌ ㅍ ㅎ ㄲ ㄸ ㅃ ㅆ ㅉ ㅇ
Les voyelles sont triées comme:
ㅏ ㅑ ㅓ ㅕ ㅗ ㅛ ㅜ ㅠ ㅡ ㅣ ㅐ ㅒ ㅔ ㅖ ㅚ ㅟ ㅢ ㅘ ㅝ ㅙ ㅞ
Les consonnes finales sont triées comme:
(none) ㄱ ㄳ ㄴ ㄵ ㄶ ㄷ ㄹ ㄺ ㄻ ㄼ ㄽ ㄾ ㄿ ㅀ ㅁ ㅂ ㅄ ㅅ ㅇ ㅈ ㅊ ㅋ ㅌ ㅍ ㅎ ㄲ ㅆ
Comme South, les syllabes sont d'abord triées par consonnes initiales, ensuite par voyelles, et enfin par consonnes finales (facultatives).
Si la phrase ci-dessus est donnée, la sortie doit être:
건고고기나다리만별술술스조치키특필하한끼않야요유은은입의
Règles
Si l'entrée contient un caractère pas dans U + AC00 - U + D7A3, il tombe en ne se soucient pas la situation.
Comme il s'agit d'un code-golf, le code le plus court en octets l'emporte.
가까나다따라마바빠사싸아자짜차카타파
(toutes les consonnes initiales), 가개갸걔거게겨계고과괘괴교구궈궤귀규그긔기
(toutes les voyelles), 가각갂갃간갅갆갇갈갉갊갋갌갍갎갏감갑값갓갔강갖갗갘같갚갛
(toutes les consonnes finales).