## Java 풀이 시 유의사항 ##
클래스명은 Main 으로 작성해야함!
💡 문제

💬 입출력 예시

📌 풀이(소스코드)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
String str = br.readLine();
int result = 0;
for (int i = 0; i < n; i++) {
result += str.charAt(i) - '0';
}
System.out.println(result);
br.close();
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
br.readLine();
int result = 0;
for (byte val : br.readLine().getBytes()) {
result += (val - '0');
}
System.out.println(result);
br.close();
}
}
📄 해설
- 입력 받은 문자열의 각 문자에서
0
의 아스키코드 값을 빼서 모두 더해주면 되는 문제
charAt()
메소드를 쓰는 풀이와 getBytes()
메소드를 쓰는 풀이가 있는데, 두 풀이 모두 알고리즘은 똑같으며, 성능면에서도 차이는 존재하지 않음(풀이 1
이 약 100KB 덜 소모하였음)