내가 생각했을때 문제에서 원하는부분
First line contains the number of test cases (T).
T test cases follow. For each test case, the first line represents the number of problems.
Next N lines contains two integer numbers Ai, Bi.
For every input expecting two integer numbers, first one represents the addition of two given numbers and second represents the multiplication separated by space.
내가 이 문제를 보고 생각해본 부분
BufferedReader를 통행 입력(System.in)을 읽는다.
StringBuilder를 사용하여 출력할 문자열을 생성한다.
테스트 케이스 수 입력: 첫 번째 줄에서 테스트 케이스의 수를 읽어 정수로 변환한다.
테스트 케이스 반복: 각 테스트 케이스에 대해 문제의 수(N)를 입력받는다.
문제 반복: 각 문제에 대해 두 정수를 읽어온다.
StringTokenizer를 사용하여 입력된 문자열을 공백 기준으로 나누고, 첫 번째와 두 번째 정수를 각각 Ai와 Bi에 저장한다.
덧셈과 곱셈 수행: 입력된 두 정수에 대해 덧셈과 곱셈을 계산한다.
결과 저장: StringBuilder에 덧셈과 곱셈 결과를 추가한다.
결과는 공백으로 구분되고, 각 결과는 새로운 줄로 구분된다.
결과 출력: 최종적으로 StringBuilder에 저장된 모든 결과를 한 번에 출력한다.
코드로 구현
package baekjoon.baekjoon_26;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
// 백준 18398번 문제
public class Main915 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int T = Integer.parseInt(br.readLine()); // 테스트 케이스 수
for(int i = 0; i < T; i++) {
int N = Integer.parseInt(br.readLine()); // 문제의 수
for(int j = 0; j < N; j++) {
StringTokenizer st = new StringTokenizer(br.readLine());
int Ai = Integer.parseInt(st.nextToken());
int Bi = Integer.parseInt(st.nextToken());
int sum = Ai + Bi; // 뎃셈
int product = Ai * Bi; // 곱셈
sb.append(sum).append(" ").append(product).append("\n");
}
}
System.out.println(sb.toString());
br.close();
}
}
코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.