[백준][10808번] 알파벳 개수
Updated:
문제 URLPermalink
https://www.acmicpc.net/problem/10808
나의 풀이 (1)Permalink
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedWriter bf = new BufferedWriter(new OutputStreamWriter(System.out));
Scanner sc = new Scanner(System.in);
Map<Character, Integer> m = new HashMap<>(); // 빈도수
String str = sc.nextLine();
for(int i=0; i<str.length(); i++){
char ch = str.charAt(i);
m.put(ch, m.getOrDefault(ch, 0)+1);
}
for(char i='a'; i<='z'; i++){
int f = m.getOrDefault(i,0);
bf.write(f+" ");
}
bf.flush();
}
}
나의 풀이 (2)Permalink
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedWriter bf = new BufferedWriter(new OutputStreamWriter(System.out));
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int[] f = new int[26]; //빈도수
for(char ch : str.toCharArray())
f[ch-'a']++;
for(int i=0; i<f.length; i++)
bf.write(f[i]+" ");
bf.flush();
}
}
느낀점Permalink
난이도 쉬운문제였다.
빈도수를 측정하는 방법으로 두가지 풀이로 풀어보았다. 한가지는 map을 사용했고 나머지는 배열을 이용했다.
위 - map 아래 - 배열
실행시간은 비슷하다.
Leave a comment