๋ฑ์ฅํ๋ ์์น๋ง ์๋ฉด ๋๊ธฐ๋๋ฌธ์, ์ํ๋ฒณ ์๋ฌธ์๋ฅผ key ๊ฐ์ผ๋ก ํ๊ณ value ๊ฐ์ -1์ผ๋ก ์ด๊ธฐ์ค์ ํ ๋ค,
key์ ํด๋นํ๋ value ๊ฐ์ด -1์ธ ๊ฒฝ์ฐ์๋ง ์ ๋ฐ์ดํธ ํด์ฃผ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด, ์ฒ์ ๋ฑ์ฅํ๋ ์์น๋ง ๊ธฐ๋กํ ์ ์๋ค.
์ฐธ๊ณ ๋ก, ์ด๊ธฐ๊ฐ์ด -1๋ก ๋ฑ๋ก๋์ด์๊ธฐ ๋๋ฌธ์, countMap.get(input.charAt(i)) + 1+ i ๋ก ์ ๋ฐ์ดํธ ํด์ฃผ์ฌ์ผ ํ๋ค.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
//baekjoon ์ฒ์ ๋ฑ์ฅํ๋ ์์น
//1 0 -1 -1 2 -1 -1 -1 -1 4 3 -1 -1 7 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
public class Main {
public static void main(String[] args) throws IOException {
Map<Character, Integer> countMap = new HashMap<>();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
char[] alphabet = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};
for (char c : alphabet) {
countMap.put(c, -1);
}
for (int i = 0; i < input.length(); i++) {
if(countMap.get(input.charAt(i))==-1) //์์ง ๋ฑ์ฅํ์ง ์์๋ค๋ฉด
countMap.put(input.charAt(i), countMap.get(input.charAt(i)) + 1+ i);
}
for (Character key : countMap.keySet()) {
System.out.print(countMap.get(key)+" ");
}
}
}