알고리즘 판다 1주차 문제
https://www.acmicpc.net/problem/11720
배열과 리스트 파트 문제
처음 문제 풀 때 고민했던 것은 숫자들을 어떤 형식을 사용해서 입력받아야하느냐였던 것 같다.
결국 숫자들을 쪼개야하는데 배열을 쓰는 것 보다는 String으로 받아서 메서드를 이용해 쪼개는게 빠르고 편리하지 않을 까 생각했다.
그래서 코드를 다음과 같이 생각해봤다.
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int N = scanner.nextInt();
String numbers = scanner.next();
int sum = 0;
for(int i = 0; i <numbers.length(); i++){
sum += numbers.charAt(i) - '0';
}
System.out.println(sum);
}
}
두 번째 코드는 강의에서 알려준 방식인데, toCharArray() 메소드를 이요하여 문자배열로 변환한 뒤 반복문을 통해 각 문자를 숫자로 변환하는 형태의 코드이다.
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int N = scanner.nextInt();
String numbers = scanner.next();
char[] number = numbers.toCharArray();
int sum = 0;
for(int i = 0; i <number.length; i++){
sum += number[i] - '0';
}
System.out.println(sum);
}
}
밑에 표에서 밑에 코드가 첫번째 코드이고 위에 코드가 두번째 코드인데 메모리, 해결시간 모두 비슷하다.
'Algorithm' 카테고리의 다른 글
[Panda] 3. 스택과 큐 (0) | 2024.05.07 |
---|---|
[Panda] 2. 구간 합(Prefix Sum)과 투 포인터 알고리즘 (1) | 2024.05.06 |
[백준] 1546번 평균 구하기 (0) | 2024.05.06 |
[Panda] 1. 배열과 리스트 (0) | 2024.05.05 |
[Panda] 0. 알고리즘과 자료구조 (0) | 2024.05.02 |