β λ¬Έμ
κ·Έλ¦Όκ³Ό κ°μ΄ λμ('_') λ¬Έμλ‘ κ΅¬μ±λ ννμ μ«μλ₯Ό μ£Όμ΄μ§ μ«μμ κ°μ΄ μΆλ ₯νκ³ μΆμ λ μ¬μ©λκΈ° λλ λμμ κ°μλ₯Ό μΆλ ₯νλ νλ‘κ·Έλ¨μ μμ±νλΌ.
β μ½λ
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] c = { 6, 2, 5, 5, 4, 5, 6, 3, 7, 6 };
System.out.print("첫μ리 0μ μ μΈν μ«μλ₯Ό μ
λ ₯ν΄μ£ΌμΈμ >> ");
String nums = sc.nextLine();
int result = 0;
for (int i = 0; i < nums.length(); i++) {
result += c[nums.charAt(i) - 48];
}
System.out.print("λμ('_')μ μ΄ ν© >> " + result);
sc.close();
}
}
β μΆλ‘ κ³Όμ
1. 0λΆν° 9κΉμ§ λμμ μ«μλ₯Ό λ΄μμ€ μ μν λ°°μ΄ cλ₯Ό μ μΈνκ³ ,
2. κ° μ«μμ κ°μ κ°μλ₯Ό μΈμ΄μ μΈλ±μ€ 0λ²λΆν° 9λ²κΉμ§ λ£μ΄μ€λ€.
3. Stringνμ μΌλ‘ μ«μλ₯Ό μ λ ₯λ°λλ€.
4. λμ μ΄ ν©μ ꡬν΄μ€ λ³μ resultλ₯Ό μ μΈνλ€. μ¬κΈ°μ λμμ κ°μλ₯Ό +=μΌλ‘ λμ ν΄μ ν©μ κ΅¬ν΄ μ€ κ²μ΄λ€.
5. λ¬Έμμ΄ νμ μ numsμ κΈΈμ΄λ§νΌ forλ¬Έμ λλ € μ€λ€.
=> forλ¬Έ λ΄λΆμμλ λ¬Έμμ΄λ‘ μ λ ₯λ°μ μ«μμ κ° μ리μ ν΄λΉνλ μ μ κ°μλ₯Ό κ³μ°νλ€.
nums.charAt(i)λ μ λ ₯λ λ¬Έμμ΄ numsμ μΈλ±μ€ iμ ν΄λΉνλ λ¬Έμλ₯Ό κ°μ Έμ¨λ€.
μ¬κΈ°μ-48μ νλ μ΄μ λ μ λ ₯λ λ¬Έμμμ ASCII μ½λ κ°μ μ«μλ‘ λ³ννκΈ° μν΄μμ΄λ€. μ»΄ν¨ν°μμ λ¬Έμλ λ΄λΆμ μΌλ‘ ASCII μ½λλ‘ ννλλ€. μ«μ 0μ μμ€ν€μ½λ κ°μ 48μ΄λ€. μ΄ μμ€ν€μ½λκ°λ€μ μ«μλ‘ λ³ννκΈ° μν΄μλ ν΄λΉ λ¬Έμμ μμ€ν€ μ½λ κ°μμ 0μ μμ€ν€ μ½λ κ°μ λΉΌμ£Όλ©΄ λλ€. μ΄λ° λ°©μμΌλ‘ λ¬Έμ '0'μ μ«μ 0μΌλ‘ λ³νλκ³ , λ¬Έμ '1'μ μ«μ 1λ‘ λ³νμ΄ λλ€. μ¦, nums.charAt(i) - '0'μ ν΅ν΄ κ° λ¬Έμλ₯Ό μ μκ°μΌλ‘ λ³νν μ μλ€. μ΄λ κ² μ»μ μ μκ°μ λ°°μ΄cμ μΈλ±μ€λ‘ μ¬μ©ν΄μ ν΄λΉ μ«μκ° ννλλλ° νμν μ μ μλ₯Ό κ°μ Έμ resultμ λμ μμΌ λν΄μ€λ€.
μλ₯Ό λ€μ΄, λ§μ½ numsκ° "123"μ΄λΌλ©΄, nums.charAt(0)μ λ¬Έμ '1'μ κ°μ Έμ΅λλ€. ASCII μ½λμμ '1'μ κ°μ 49μ΄κ³ , '0'μ κ°μ 48μ λλ€. λ°λΌμ '1' - '0'μ 1μ΄ λλ€. c[1]μ μ«μ 1μ νννλ λ° νμν μ μ μλ₯Ό λνλ λλ€. λ§μ½ c[1]μ΄ 2λΌλ©΄, result += 2;κ° λλ€. μ΄ κ³Όμ μ μ«μ 2μ 3μ λν΄μλ λ°λ³΅νμ¬ μ 체 μ μ μλ₯Ό κ³μ°ν΄ λ³Ό μ μλ€.