# What is a gksrnrdj Word?

This is in the spirit of the What is a Word/Phrase™ series started by JLee with a special brand of Phrase™ and Word™ puzzles.

If a word conforms to a special rule, I call it a gksrnrdj Word™. Use the examples below to find the rule.

Font does not matter but case does.

The CSV version:

gksrnrdj Words™,Not gksrnrdj Words™
go,stop
query,word
Rich,poor
Queen,king
fort,castle
slacks,shirt
victor,foxtrot
thorns,thank
fortytwo,eightyfour
virgo,scorpio
England,Monaco
sudan,Sudan
TPR,RPQ


Find the pattern.

Bonus question 1:

Are there any longer "gksrnrdj Words"? If so, what is the longest such word in Scrabble?

Bonus question 2:

Write a computer program to determine if a word is a "gksrnrdj Word".

Hint 1:

Hint 2:

Font does not matter but case does.

Hint 3:

You have probably noticed that every "gksrnrdj Word" starts off on the left side of the Qwerty keyboard. Of course this is not a coincidence, but this fact doesn't seem to help much.

Hint 4:

"gksrnrdj Words" can not contain any capital letters except E, O, P, Q, R, T and W. More specifically, O and P cannot appear at the beginning of a "gksrnrdj Word", while E, Q and W cannot appear at the end of a "gksrnrdj Word".

Hint 5:

Where was the last Winter Olympiad held?

Hint 6:

No 1-letter gksrnrdj Words exist. There are approximately 266 2-letter gksrnrdj Words and approximately 4389 3-letter gksrnrdj Words in total, if non-dictionary words are also counted.

• Only spelling is relevant. Pronunciation and meaning are not. Also, Hint 5 will go outdated in about a week. By the way, please correct mistakes, if any. Jan 28 at 10:54
• Hint 5 has gone outdated. Feb 4 at 14:12

Figuring out the rule:

Based on hint number 5 (written before the 2022 Winter Olympics, we can assume that this has to do with Korea. (The 2018 Winter Olympics were in Pyeongchang, South Korea)
Also based on the fact that capitalization matters but not font, this has to do with the Korean Hangul keyboard. This keyboard layout has the QWERTY keys QWERTOP (mentioned in Hint #4) as the only ones that can be changed by using the Shift key ("capitalized").
Using this QWERTY-based layout and translating "gksrnrdj" into Korean, we get 한국어 (hangug-eo), which translates to "Korean". Google Translate has a built-in keyboard for most languages, and thats what I used.
The translated gksrnrdj Words give the following list:

List of Words

go - 해 sun
query - 볃교 school
Rich - 꺄초 cacho
Queen - 뼏두 whole
fort - 랛 left
slacks - 님찬 Nimchan
victor - 퍄챗ㄱ 👌👌
thorns - 쇄군 runaway
fortytwo - 랙숏재 rack shot material
virgo - 퍅해 👌👌👌
England - 뚜히ㅑ노 Absolutely no
sudan - 녕무 bye bye
TPR - 쎾 ㎾

The Rule(?)

A word is a gksrnrdj Word™ when it can be typed in Korean using a hangul keyboard and it translates into an English word? I feel like there is some other element I'm missing due to quite a few of the translations being quite weird or not even English.

• Did you intend to not put the first section of the answer in spoilers? If you didn't, I put in a suggested edit that puts it in spoilers. Feb 1 at 1:59

Thanks WoomyRogue for doing the bulk of the work in your partial answer: What is a gksrnrdj Word?. Allow me to top it off.

A gksrnrdj Word™ is

A sequence of characters that, when entered on a Dubeolsik keyboard, yields a sequence of complex Hangul characters.

A complex Hangul character is made from combining the elementary Hangul characters, called jamos. For example, entering g and o alone gives the jamos, ㅎ and ㅐ, respectively, but entering them together combines them into the single character, 해. On the contrary, typing sun gives 녀ㅜ, where the ㅜ from the n does not combine. Therefore, go is a gksrnrdj Word™ and sun is not.

The reason they are called gksrnrdj Word™s is because

Entering gksrnrdj translates to Korean, as pointed out by WoomyRogue.

The following Python script classifies words as gksrnrdj Word™s or not:

# https://github.com/kjh618/dubeolsik-automata
from dubeolsik_automata import join_jamos, qwerty_to_dubeolsik

def is_gksrnrdj(word):
try:
jamos = qwerty_to_dubeolsik(word)
except KeyError:
return False

word = join_jamos(jamos)
jamos = set(jamos)

for letter in word:
if letter in jamos:
return False

return True