1. ๋ด๊ฐ ํผ ๋ฐฉ๋ฒ
์ฌ์ฉ์์ ์ ๋ ฅ ๊ฐ์ด ํ ์๋ฆฌ ์์์ 4์๋ฆฌ ์๋ก ๋ค์ํ ์ ์์์ผ๋ก, ๊ฐ ์ํฉ์ ๋ง๋ if ๋ถ๊ธฐ๋ฅผ ๋ง๋ค์ด์, ํ๋์ฝ๋ฉ ํ๋ค.
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
System.out.println(Calc(N));
}
static int Calc(int N) {
if(9999>=N && N>=1000){
int A = N/1000;
int B = (N%1000)/100;
int C = ((N%1000)%100)/10;
int D = (((N%1000)%100)%10)/1;
return A+B+C+D;
} else if (999>=N && N>=100) {
int A = N/100;
int B = (N%100)/10;
int C = ((N%100)%10)/1;
return A+ B+ C;
} else if (99 >= N && N>=10) {
int A = N/10;
int B = (N%10)/1;
return A + B;
}else {
return N;
}
}
}
๋ค๋ฅธ ์ฌ๋๋ค์ ๋ต์ ๋ณด๋ ์ด๋ ๊ฒ ํ์๋๋ผ
import java.util.ArrayList;
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String N = sc.next();
ArrayList<Integer> list = new ArrayList<>();
for (int i = 0; i < N.length(); i++) {
list.add(N.charAt(i) - '0');
}
Integer a = 0;
for (int i = 0; i < N.length(); i++) {
a += list.get(i);
}
System.out.println(a);
}
}
๋ด๊ฐ ๋ฐฐ์ด ๊ฒ
1. sc.next
sc๋ Scanner ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ๋ง๋ ๊ฐ์ฒด๋ก, ์ฌ์ฉ์์ ์ ๋ ฅ์ด ๋ค์ด๊ฐ๋ ๊ณณ์ด๋ค.
.next๋ spacebar(๊ณต๋ฐฑ)์ ๋ง๋๊ธฐ ์ ๊น์ง ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๊ฐ๋ค์ ๋ฌธ์์ด๋ก ๋ฐํํด์ฃผ๋ ํจ์์ด๋ค.
(๋ฒ์ธ sc.nextLine)
.nextLine์ Enter๋ฅผ ๋ง๋๊ธฐ ์ ๊น์ง ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๊ฐ๋ค์ ๋ฌธ์์ด๋ก ๋ฐํํด์ฃผ๋ ํจ์์ด๋ค.
2.String๋ณ์.length()
string ๋ณ์์ .length() ๋ผ๋ ๋ด์ฅํจ์๋ฅผ ์ฐ๋ฉด ํด๋น ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ๋ฐํํ๋ค.
3. String ๋ณ์.charAt(index)
charAt(index)๋ ๋ฌธ์์ด์์ ํ๋์ ๋ฌธ์๋ฅผ ์ถ์ถํ ์ ์๊ฒ ํด์ฃผ๋ ํจ์์ด๋ค.
index์ ์์นํ ๋ฌธ์ ํ๋๋ฅผ ์ถ์ถํ์ฌ ๋ฐํํ๋ค.
๋ฌธ์์ด์ ๋งจ ์ฒซ ๋ฌธ์์ index๋ฅผ 0์ผ๋ก ๋๊ณ ๊ณ์ฐํ๋ฉด๋๋ค.
4. Integer Array List์ ๋ฐ๊ณผ ๊ฐ์ด ๊ฐ์ ์ง์ด๋ฃ๋ ์ด์
list.add(N.charAt(i) - '0');
.charAt์ผ๋ก String ํํ์ ์ ๋ ฅ ๊ฐ์ char ํํ์ ์ซ์๋ก ํ๋ ํ๋์ฉ ๋์จ๋ค.
๋ง์ฝ ์ ๋ ฅ์ด "6789"์ด๋ฉด ๋ฐ๋ณต๋ฌธ์ด ์งํ๋จ์ ๋ฐ๋ผ '6', '7', '8', '9'๊ฐ ๋ฐ๋ก ๋ฐ๋ก ๋์ด์ ธ์ ๋ฐํ๋ ๊ฒ์ด๋ค.
์ฌ๊ธฐ์ ๋ฌธ์ ๋ char ๊ฐ์ int ๋ณ์์ ์ ์ฅํ๋ฉด ํด๋น char ๋ฌธ์์ ์์คํค ์ฝ๋๊ฐ ์ ์ฅ๋๋ค๋ ๊ฒ์ด๋ค.
์์คํค ์ฝ๋๋ ์ด์ง์ ๋ฐ์ ์ดํดํ์ง ๋ชปํ๋ ์ปดํจํฐ์๊ฒ ๋ฌธ์๋ฅผ ๊ธฐ์ต์ํค๊ธฐ ์ํด ๋ฌธ์๋ฅผ ์ซ์๋ก ํํํ ํ๋์ ์ฝ์์ด๋ค.
'0' ~ '9'๊น์ง์ char ๊ฐ์ ์์คํค ์ฝ๋๋ 48 ~ 57์ด๋ค.
๋ฐ๋ผ์ '0' ~'9'๋ ์๋ ์์ ๋ค์ด ์๋ฏธํ๋ 0~9๋ณด๋ค 48์ฉ ์ ๋ถ ํฐ ๊ฒ์ด๋ค.
๋ฐ๋ผ์ char ๊ฐ์ ๋ฐ์์ 48์ ๋นผ์ฃผ๋ฉด int๋ก ์๋ ๋ณํ ์ํฌ ์ ์๋ค.
์ฌ๊ธฐ์๋ 48์ '0'์ผ๋ก ๋์ฒด ํ๋ค.