알고리즘

<baekjoon> 단어 수학

koyuchang 2020. 8. 22. 17:35

풀이

입력 받는 문자열에 대한 인덱스를 넣어줄 배열을 생성한다(크기는 26= 총 알파벳 개수). 

Ex) ABC가 입력이 되면 0번 1번 2번 배열 인덱스에 1 2 3이 차례대로 입력된다.

 

2

GCF

ACDEB 가 입력으로 들어오면 {4, 7, 2, 5, 6, 3, 1,....} 상태로 arr 배열에 입력이 된다. 그 다음 알파벳의 총 개수인 7개(중복 제외)를 가지고 9 8 7 6 5 4 3의 값을 가지는 sel의 배열을 순열을 돌린다. 즉, 각 알파벳에 대한 가중치? 비용?을 바꿔준다는 뜻이다. 각 알파벳에 접근을 하면서 가중치를 곱해주면서 더해주고 최대값이 나오면 종료시킨다. 

 

arr배열이 필요한 이유?

배열에 입력된 값을 인덱스로 삼아서 sel배열의 인덱스로 접근한다.

코드