recursive descent parser

shinheasoo의 이미지

이 코딩 문제 java 혹은 C로 구현 어떻게 구현 가능한가요???

[예제 입력]

sirname = "hong"

lastname = "kil dong"

fullname = "[sirname] [lastname]"

text = "[fullname] lives in Korea"

[결과]

sirname : hong

lastname : kil dong

fullname : hong kil dong

text : hong kil dong lives in Korea

-------------------------------------------------------------------------------------------------------
소스코드가 짧고 재사용 가능한지가 중요하며. 더욱 다양한 문법이 추가되었을 때도 잘 지원해야하고, 재귀를 이용해서 구현해도 됩니다.

제약 조건 : 각 라인을 딱 한번만 접근 가능하는건데, 예를 들어 3번째 라인을 파싱할때 또다시 첫번째 라인을 또다시 파싱해서 구현하는 식으로 동작해서는 안돼요.
위의 예제에서는 입력 데이터가 몇라인 밖에 안되지만 테스트에서는 10000라인의 데이터가 들어오더라도 빠르게 동작할 수 있어야 하는 게 관건입니다 !!

참고 : wikipedia - recursive descent parser
http://www.codecodex.com/wiki/Recursive_descent_parsing#Parser.java
(도저히 이해가 잘 안되서 모범 답안을 요청드립니다..:)

planetarium의 이미지

적어주신 예제처럼 문법이 다양하더라도 각각 한가지로만 대응한다면 그냥 key-value store 하나 사용하면 끝날것 같은데요. 그렇진 않겠죠...?

sql2의 이미지

음...

과연 누가 해주실지...

익명 사용자의 이미지

여기가 숙제해주는곳인가요??