input 두개가 주어짐

string 그리고 integer value , k

주어진 string에 대해서 ascii 값에 k를 더해주고 그러를 다시 string으로 변환된 값을 만들어야함

abc , k =1

→ bcd

ABC, k =1


여기서 edge case는 k가 커서 각각 26 개의 (lowercase, uppercase) letter 을 넘어갈때인데

그럴 경우 그거는 k 값 더하고 26을 뺴주면 되는데(그 이유는 mod 를 해주는거임) , 근데 또 여기서 주의할 점이

k값이 26 이상일 경우인데, 이떄는 k 값 자체를 k = k%26 이렇게 변환

그 이유는 26 = 52 %26 =0 이기때문

또는 27 =53%26 =1



7.13 Say you have a large corous of words. How would identify synonyms.

Ans = Vectorize the word. Use cosine similarity to perform knn clustering algorithm. Be careful that antonyms may be clustered together.

7.3 : How to choose k in kmeans algorithm?

Using total sum of squared errors 오차의 제곱합 ( as metric, use the elbow method(when the decrease in sum of squared distances gets insignificant)

another method is to use silhouette method:

The elbow method is used to find the “elbow” point, where adding additional data samples does not change cluster membership much. Silhouette score determines whether there are large gaps between each sample and all other samples within the same cluster or across different clusters