2021. 8. 18. 13:56ㆍ코딩/Python
내 사고과정
- 테스트 케이스의 개수를 먼저 받아야 하므로 Scanner 클래스를 이용하여 사용자로부터 테스트 케이스 개수의 값을 입력받는다.
- 사용자가 입력한 테스트 케이스의 개수만큼 for문을 돌려 A+B의 값을 출력한다.
- 배열을 사용하여 사용자가 입력한 테스트 케이스의 개수 만큼 n.length로 하여 for문을 돌려야 하나?
- 테스트 케이스의 개수를 입력받고, 랜덤으로 숫자를 추출해서 보여줘야 하는 건가?
내 코드
import java.util.Scanner;
public class Test {
public static void main(String[] args){
Scanner sc = new Scanner(System.in); // 사용자로부터 값을 입력받기 위해 Scanner 클래스를 사용한다.
int n = sc.nextInt(); // 테스트 케이스 개수
int a = sc.nextInt(); // 사용자로부터 값 피연산자 2개 값 입력받기
int b = sc.nextInt();
int i; // for문을 돌리기 위한 변수
for(i=1;i<=n;i++) { // 사용자가 입력한 테스트 케이스 개수 n만큼 for문을 돌린다.
System.out.println(a+b);
}
}
}
내 출력 결과
3 < 사용자로부터 입력받은 테스트 케이스 개수 3개
1 1
2
2
2
수정된 코드
import java.util.Scanner;
public class Test {
public static void main(String[] args){
Scanner sc = new Scanner(System.in); // 사용자로부터 값을 입력받기 위해 Scanner 클래스를 사용한다.
int n = sc.nextInt(); // 테스트 케이스 개수
int arr[]=new int[n];
for(int i=0;i<n;i++) { // n개의 테스트 케이스 추출을 위해 사용자로부터 케이스 값들 입력받기. i<n인 이유는 i=0부터 시작하기 떄문에 인덱스 값을 하나 줄여줘야 하므로 i<=n이 아니라 i<n이다.
int a = sc.nextInt();
int b = sc.nextInt();
arr[i]=a+b; // 위에서 전역변수로 선언된 arr배열에다가 a+b를 i번째만큼 더한 값을 넣는다.
}
sc.close(); // Scanner 클래스 닫기
for(int k:arr) { // 향상된 for문을 이용하여 a+b의 값(arr[]배열에 저장된)을 출력한다.
System.out.println(k);
}
}
}
내 사고과정을 다시 살펴보면
- 테스트 케이스의 개수를 먼저 받아야 하므로 Scanner 클래스를 이용하여 사용자로부터 테스트 케이스 개수의 값을 입력받는다. (O)
- 사용자가 입력한 테스트 케이스의 개수만큼 for문을 돌려 A+B의 값을 출력한다. (O)
- 배열을 사용하여 사용자가 입력한 테스트 케이스의 개수 만큼 n.length로 하여 for문을 돌려야 하나? (X)
- n.length까지할 필요는 없었음. 배열에 저장된 값을 다시 for문을 이용하여 출력함
- 테스트 케이스의 개수를 입력받고, 랜덤으로 숫자를 추출해서 보여줘야 하는 건가? (X)
수정된 출력 결과
3 // 사용자가 입력한 테스트 케이스 개수
1 1 // 사용자가 입력한 테스트 케이스 경우 (a,b)
2 2
3 3
2 // 사용자가 입력한 테스트 케이스의 덧셈 결과값
4
6
'코딩 > Python' 카테고리의 다른 글
백준 15552 - java ) 빠른 A+B (0) | 2021.08.19 |
---|---|
백준 8393 - java ) 합 (0) | 2021.08.19 |
백준 2739 ) 구구단 (java) (0) | 2021.08.18 |
백준 2884 ) 알람 시계 (java) (0) | 2021.08.11 |
백준 14681 ) 사분면 고르기 (java) (0) | 2021.08.11 |