β λ¬Έμ
μ λ ₯λ λ¬Έμ₯μ ν¬ν¨λ μνλ²³μ λΉλλ₯Ό λμλ¬Έμ ꡬλ³μμ΄ κ΅¬νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
β μ½λ
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("===== μνλ²³ λΉλμ ꡬνκΈ° =====");
System.out.println("μ
λ ₯ >> ");
Scanner sc = new Scanner(System.in);
int[] result = new int[26];
String inPut = sc.nextLine().replaceAll(" ", "");
System.out.println(inPut);
String outPut = inPut.toLowerCase();
for (int i = 0; i < inPut.length(); i++) {
result[outPut.charAt(i) - 97]++;
}
for (int i = 0; i < 26; i++) {
System.out.println((char) (i + 97) + " : " + result[i]);
}
}
}
β μΆλ‘ κ³Όμ
μ£Όμν μ
1. CharAt() λ©μλ μ°κΈ° μν΄μ μ λ ₯λ λ¬Έμ₯μ κ³΅λ°±μ΄ ν¬ν¨λμ΄ μμ μ μμΌλ 곡백μ μμ μ€μΌ ν¨
=> μ¦, " "μ ""λ‘ μΉνν΄μ€μΌ ν¨.
2. λ¬Έμ μμ λμλ¬Έμ ꡬλ³μμ΄ μνλ²³ λΉλμλ₯Ό ꡬνλΌκ³ νμΌλ―λ‘ λͺ¨λ μλ¬Έμλ‘ μΉννμ¬ μ€λ€.
3. μμ€ν€μ½λλ₯Ό νμ©ν΄μ ν΄λΉ μλ¬Έμμ μνλ²³ μμλ₯Ό μΈλ±μ€λ‘ μ¬μ©ν΄μ λ±μ₯ νμλ₯Ό μΈμ΄ μ€λ€.
- Scannerλ₯Ό μ¬μ©νμ¬ μ¬μ©μλ‘λΆν° λ¬Έμμ΄μ μ λ ₯λ°λλ€.
- κΈΈμ΄κ° 26μΈ μ μ λ°°μ΄ resultλ₯Ό μμ±νλ€. μ΄ λ°°μ΄μ κ° μνλ²³μ΄ λνλ νμλ₯Ό μ μ₯ν΄μ€λ€. μ¦, μΈλ±μ€ 0λ²λΆν° aμ λΉλμ, 26λ²μ zμ λΉλμλ₯Ό λ΄μμ€ κ²μ΄λ€.
- μ¬μ©μλ‘λΆν° μ λ ₯λ°μ λ¬Έμμ΄μμ 곡백μ μ κ±°νλ€. replaceAll(" ", "") λ©μλλ₯Ό μ¬μ©νλ©΄ λ¬Έμ₯ μμ λ€μ΄μλ 곡백 " "μ ""λ‘ μΉνν΄ μ€λ€. κ·Έλμ λͺ¨λ μνλ²³μ΄ λμ΄μ°κΈ° μμ΄ λΆμ΄μκ² λλ€.
- toLowerCase()λ©μλλ₯Ό μ¬μ©ν΄μ λͺ¨λ λ¬Έμμ΄μ μλ¬Έμλ‘ λ³ννλ€. μ΄λ λμλ¬Έμλ₯Ό ꡬλΆνμ§ μκ³ μνλ²³μ μΉ΄μ΄νΈνκΈ° μν΄μμ΄λ€.
- λ¬Έμμ΄μ κΈΈμ΄λ§νΌ λ°λ³΅λ¬Έμ λλ €μ€λ€. forλ¬Έ μμμ CharAt()λ©μλλ₯Ό ν΅ν΄ μ λ ₯λ λ¬Έμ νλ νλκ° μ΄λ€ μνλ²³μΈμ§ νμΈνκ³ , κ° λ¬Έμκ° λ±μ₯ν νμλ₯Ό result λ°°μ΄μ μ μ₯νλ€.
- λ°°μ΄ μΈλ±μ€μ μ κ·Όν΄μ μνλ²³ 'a'λΆν° 'z'κΉμ§ λ°λ³΅νλ©΄μ κ° μνλ²³κ³Ό κ·Έμ ν΄λΉνλ λ±μ₯ νμλ₯Ό μΆλ ₯ν΄ μ€λ€.
μμ μ½λμμ outPut.charAt(i) - 97μ νλ μ΄μ λ κ° λ¬Έμλ₯Ό μλ¬Έμλ‘ λ³νν ν, 'a'λ₯Ό κΈ°μ€μΌλ‘ λ¬Έμμ μμΉλ₯Ό μΈλ±μ€λ‘ μ¬μ©νμ¬ ν΄λΉ μνλ²³μ΄ λ±μ₯ν νμλ₯Ό μΈκΈ° μν΄μμ΄λ€. μμ΄ μνλ²³μ μλ¬Έμ 'a'λΆν° μμνμ¬ μ°μμ μΌλ‘ μμ€ν€ μ½λ κ°μ΄ ν λΉλμ΄ μλλ°, μλ¬Έμ 'a'μ μμ€ν€ μ½λ κ°μ 97μ΄κ³ , κ·Έ λ€μ μνλ²³λ€μ κ°κ° 1μ© μ¦κ°νλ κ°μ΄λ€.
λ°λΌμ κ° λ¬Έμμ μμ€ν€ μ½λ κ°μμ 'a'μ μμ€ν€ μ½λ κ°μ λΉΌλ©΄ ν΄λΉ λ¬Έμκ° μνλ²³ 'a'λΆν° λͺ λ²μ§Έ μμΉμ μλμ§λ₯Ό μμλΌ μ μλ€. μ΄λ κ² νλ©΄ ν΄λΉ λ¬Έμμ μνλ²³ μμλ₯Ό μΈλ±μ€λ‘ μ¬μ©ν΄μ λ±μ₯ νμλ₯Ό μΈλ μμ μ΄ κ°λ₯ν΄μ§λ€. κ·Έλμ outPut.charAt(i) - 97μ λ¬Έμμ΄μμ μλ¬Έμ 'a'λΆν° μμνμ¬ κ° λ¬Έμκ° λͺ λ²μ§Έ μνλ²³μΈμ§λ₯Ό λνλ΄λ μΈλ±μ€ κ°μ λ°ννλ€.