Algorithm How many times make words

알고리듬 How many times make words를 알아보겠습니다.


수많은 글자 중에서 해당하는 단어를 몇 번 만들 수 있는지 알아보는 알고리듬을 다뤄보겠습니다.

jaehwa를 만들어 본다고 가정하고 진행합니다.





해당 글자는 다음과 같은 철자로 구성되어 있습니다.




j 1 개, a 2 개, e 1 개, h 1 개, w 1 개입니다.

위의 글자 구성이 전부 있어야 하는데요.

글자 중 하나라도 없다면 해당 글자를 만들 수 없습니다.

즉, j가 99 개 있어도, 1 개밖에 못 만듭니다.






위의 단어를 구성하는 글자 중에서 가장 작은 숫자에 맞춰지게 됩니다.


Python으로 한 번 볼게요.


아래의 글자 속에서 jaehwa를 몇 번 만들 수 있을까요?

asdlkfjewoiurpewt]fivzj,./vncbhildfq[reiptojdklajfklc.sdafruweqporp[tu








먼저, dictionary를 만들어줍니다. 여기에는 미리 jaehwa를 넣어줍니다. 왜냐하면, 파이썬은 초깃값이 없을 때 뭔가 연산을 하면 오류가 나기 때문이죠.






그다음, 12 번째 줄에서 text를 한 글자씩 보면서 my_dict에 넣습니다.






결과는 다음과 같네요. h가 하나뿐이라서 안 봐도 1 개 밖에 못하겠군요.







이것을 코딩으로 계산하려면 다음과 같이 min을 사용합니다.

'a'의 경우 2 개가 필요하므로 2로 나눈 몫을 넣습니다.







1 개라고 나오네요.


끝.


카테고리: Algorithm

댓글

이 블로그의 인기 게시물

Python OpenCV 빈 화면 만들기

Python urllib.parse.quote()

Python bytes.fromhex()

Android AVD Ram size change

Forensics .pyc 파일 .py로 복구하기

Android Minimum touch target size

KiCad 시작하기 7 (FreeRoute 사용하기 2)

Android Notification with Full Screen

C++ OpenCV 모폴로지 침식, 팽창

KiCad 시작하기 2 (PCB 만들기)