Skip to content

Conversation

@0224LJH
Copy link
Contributor

@0224LJH 0224LJH commented Nov 12, 2025

🧷 문제 링크

https://www.acmicpc.net/problem/1099

🧭 풀이 시간

30분

👀 체감 난이도

✏️ 문제 설명

형택이와 그의 친구들은 자꾸 다른 사람들이 대화를 엿듣는 것이 짜증났다. 따라서, 새로운 언어를 만들었다.

이 언어에는 단어가 N개 있다. 그리고 이 언어의 문장은 단어를 공백없이 붙여쓴 것이다. 이 문장에서 각 단어는 0번 또는 그 이상 나타날 수 있다. 이 언어가 형택스러운 이유는 (특별한 이유는) 단어에 쓰여 있는 문자의 순서를 바꿔도 되기 때문이다. 이때, 원래 단어의 위치와 다른 위치에 있는 문자의 개수 만큼이 그 순서를 바꾼 단어를 만드는 비용이다. 예를 들어, abc란 단어가 있을 때, abc는 비용 0으로 만들 수 있고, acb, cba, bac는 비용 2로 바꿀 수 있고, bca, cab는 비용 3으로 바꿀 수 있다.

따라서, 한 문장을 여러 가지 방법으로 해석할 수 있다. 이때 비용의 최솟값을 구하는 프로그램을 작성하시오.

🔍 풀이 방법

Word라는 커스텀 클래스를 만들었다.
각 단어에 담겨있는 알파벳별 갯수와 원본을 저장후, 이를 비교본의 특정 부분과 비교하여 만들 수 있는지, 만들 수 있다면 코스트가 얼마인지 반환하게 하였다.

이후 이를 이용하여 dp를 진행하면 된다.

⏳ 회고

@0224LJH 0224LJH added the success 👍 해설을 보지 않고 풀었을 때 label Nov 12, 2025
@ShinHeeEul ShinHeeEul merged commit efe978d into main Nov 12, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

success 👍 해설을 보지 않고 풀었을 때

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants