N개의 문자열 리스트 S와 M개의 문자열 리스트 T를 순서대로 조합하여 1년에는 S1과 T1을 연결하고, 2년에는 S2와 T2 ... 이렇게 연결할 때, 1~2020년 사이의 특정 연도의 이름을 구하는 문제이다.
각 리스트 별 주기는 리스트의 크기이며 나머지 연산을 하여 연도의 이름을 구한다. 나머지가 0이면 리스트의 마지막 문자열이 된다.
String[] A = new String[n+1];
st = new StringTokenizer(br.readLine());
for(int i=1; i<=n; i++) {
A[i] = st.nextToken();
}
String[] B = new String[m+1];
st = new StringTokenizer(br.readLine());
for(int i=1; i<=m; i++) {
B[i] = st.nextToken();
}
int q = Integer.parseInt(br.readLine());
for(int i=0; i<q; i++) {
int year = Integer.parseInt(br.readLine());
int aIndex = year % n, bIndex = year % m;
if(aIndex == 0) {
aIndex = n;
}
if(bIndex == 0) {
bIndex = m;
}
sb.append(A[aIndex]).append(B[bIndex]).append(' ');
}
결과 코드는 다음과 같다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
StringBuilder sb = new StringBuilder();
for (int tc = 1; tc <= T; tc++) {
sb.append('#').append(tc).append(' ');
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken()), m = Integer.parseInt(st.nextToken());
String[] A = new String[n+1];
st = new StringTokenizer(br.readLine());
for(int i=1; i<=n; i++) {
A[i] = st.nextToken();
}
String[] B = new String[m+1];
st = new StringTokenizer(br.readLine());
for(int i=1; i<=m; i++) {
B[i] = st.nextToken();
}
int q = Integer.parseInt(br.readLine());
for(int i=0; i<q; i++) {
int year = Integer.parseInt(br.readLine());
int aIndex = year % n, bIndex = year % m;
if(aIndex == 0) {
aIndex = n;
}
if(bIndex == 0) {
bIndex = m;
}
sb.append(A[aIndex]).append(B[bIndex]).append(' ');
}
sb.append('\n');
}
br.close();
System.out.print(sb);
}
}'알고리즘(백준 등) 공부' 카테고리의 다른 글
| SWEA 19004. 점프 놀이 (0) | 2026.04.28 |
|---|---|
| SWEA 19113. 식료품 가게 (0) | 2026.04.27 |
| SWEA 20019. 회문의 회문 (0) | 2026.04.26 |
| SWEA 20551. 증가하는 사탕 수열 (0) | 2026.04.26 |
| SWEA 20731. 서로소 그리드 (0) | 2026.04.25 |