캐릭터
이 유니 코드 문자를 영어 IPA 자음 이라고하겠습니다 .
bdfhjklmnprstvwzðŋɡʃʒθ
이 유니 코드 문자를 영어 IPA 모음 이라고하겠습니다 .
aeiouæɑɔəɛɜɪʊʌː
(예, ː
긴 모음 표시 일 뿐이지 만이 문제를 해결하기 위해 모음으로 취급합니다.)
마지막으로, 이는 1 차 및 2 차 응력 표시입니다 .
ˈˌ
주의
ɡ
( U + 0261는 ) 소문자 g없고, 응력 차 마커ˈ
( U + 02C8는 ) 아포스트로피없고,ː
( U + 02D0는 ) 콜론 아니다.
당신의 작업
단어가 주어지면, 따라 오는 자음 위에 모음을 쌓고 그 앞에있는 자음 아래에 스트레스 표식을 놓습니다. 질문 제목 힌트로서 자음 모음 시퀀스가 하나의 단위로 함께 묶여있는 쓰기 시스템을 abugida 라고합니다 . 입력이 주어지면 ˈbætəlʃɪp
출력을 생성합니다.
æə ɪ
btlʃp
ˈ
단어는 앞에서 정의한 바와 같이, 자음, 모음, 스트레스 마크의 문자열로 보장됩니다. 연속적인 스트레스 표시는 없으며 항상 단어의 시작 및 / 또는 자음 앞에 배치 됩니다.
테스트 사례
모음이 연속되어있을 수 있습니다. 예를 들어, kənˌɡrætjʊˈleɪʃən
진다
ɪ
ə æ ʊeə
knɡrtjlʃn
ˌ ˈ
단어가 모음으로 시작하는 경우, 자음과 함께 "기준"에 인쇄 : əˈpiːl
이된다
ː
i
əpl
ˈ
초기 스트레스 모음 ˈælbəˌtrɔs
이 있는 테스트 사례 :
ə ɔ
ælbtrs
ˈ ˌ
긴 말 : ˌsuːpərˌkaləˌfrædʒəˌlɪstɪˌkɛkspiːæləˈdoʊʃəs
된다
æ
ː ː ʊ
uə aə æ əɪ ɪɛ iəoə
sprklfrdʒlstkkspldʃs
ˌ ˌ ˌ ˌ ˌ ˈ
초기 diphthong, 많은 모음 쌓기 및 스트레스 마커 eɪbaeioubaabaaa
가 없는 넌센스 예제 :
u
o
i a
eaa
ɪaaa
ebbb
참조 구현
프로그램은이 Python 스크립트와 동일한 출력을 생성해야합니다.
consonants = 'bdfhjklmnprstvwzðŋɡʃʒθ'
vowels = 'aeiouæɑɔəɛɜɪʊʌː'
stress_marks = 'ˈˌ'
def abugidafy(word):
tiles = dict()
x = y = 0
is_first = True
for c in word:
if c in stress_marks:
tiles[x + 1, 1] = c
elif c in consonants or is_first:
y = 0
x += 1
tiles[x, y] = c
is_first = False
elif c in vowels:
y -= 1
tiles[x, y] = c
is_first = False
else:
raise ValueError('Not an IPA character: ' + c)
xs = [x for (x, y) in tiles.keys()]
ys = [y for (x, y) in tiles.keys()]
xmin, xmax = min(xs), max(xs)
ymin, ymax = min(ys), max(ys)
lines = []
for y in range(ymin, ymax + 1):
line = [tiles.get((x, y), ' ') for x in range(xmin, xmax + 1)]
lines.append(''.join(line))
return '\n'.join(lines)
print(abugidafy(input()))
규칙
함수 또는 전체 프로그램을 작성할 수 있습니다.
프로그램에 유니 코드 문자 / 문자열 유형이있는 경우 입력 및 출력에서이를 사용한다고 가정 할 수 있습니다. 그렇지 않은 경우 또는 STDIN에서 읽고 쓰는 경우 UTF-8 인코딩을 사용하십시오.
줄 바꿈이 포함 된 문자열이나 행을 나타내는 문자열 목록 또는 유니 코드 문자 배열을 생성 할 수 있습니다.
각 출력 행에는 임의의 양의 후행 공백이 포함될 수 있습니다. 문자열을 생성하면 단일 후행 줄 바꿈이있을 수 있습니다.
프로그램은 임의로 긴 모음 체인을 사용하여 임의로 긴 단어에 대해 올바른 출력을 생성해야하지만 입력 단어가 항상 유효한 것으로 가정 할 수 있습니다.
응력 마커가없는 경우 출력에 선택적으로 마지막 빈 행 (아무것도 포함하거나 공백이 없음)이 포함될 수 있습니다.
가장 짧은 답변 (바이트)이 이깁니다.
ɜ
했으므로 지금은 전체 일반 미국 모음이되어야합니다.
biiiiiiiiiiiʒ
( "꿀벌이 아닌")
ɜ
, 당신은 그것을 떠났다 :-) 그리고 영국은 그들의에 대해 불평 할 것이다ɒ