반응형
https://www.acmicpc.net/problem/10798
- 문제
- 문제 풀이
백준 10798번 세로읽기는 브론즈 1 난이도의 구현 및 문자열 문제이다. 이 문제는 추가로 한국 정보올림피아드 지역 본선 2015에 초등부 2번 문제로 나온 문제이기도 하다. 이 문제에서는 5개의 문자열이 주어진다. 그리고 이 문자열들을 세로로 읽은 값을 출력하면 된다.
우선 이 5개의 문자열들의 최대 길이를 구한다. 이 값을 max라고 하겠다. 그리고 for-loop을 이용해서 int i = 0부터 max까지 하고 각 i마다 문자열의 길이를 초과하지 않는지 확인하고 초과하지 않는다면 StringBuilder에 append 시켜주면 된다. 그리고 맨 마지막에 이 StringBuilder를 출력해주면 된다.
자세한 코드는 밑에 있다.
- 코드
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s1 = br.readLine();
int max = s1.length();
String s2 = br.readLine();
String s3 = br.readLine();
String s4 = br.readLine();
String s5 = br.readLine();
//문자열 최대 길이 구하기
max = Math.max(max, Math.max(s2.length(), Math.max(s3.length(), Math.max(s4.length(), s5.length()))));
StringBuilder sb = new StringBuilder();
for (int i = 0; i < max; i++) {
//각 문자열마다 문자열의 길이를 초과하지 않는지 확인하고 StringBuilder에 붙이기
if (i < s1.length()) sb.append(s1.charAt(i));
if (i < s2.length()) sb.append(s2.charAt(i));
if (i < s3.length()) sb.append(s3.charAt(i));
if (i < s4.length()) sb.append(s4.charAt(i));
if (i < s5.length()) sb.append(s5.charAt(i));
}
System.out.print(sb);
}
}
반응형
'백준' 카테고리의 다른 글
[백준] 2563번 : 색종이 – JAVA [자바] (1) | 2022.08.08 |
---|---|
[백준] 4796번 : 캠핑 – JAVA [자바] (0) | 2022.08.08 |
[백준] 1076번 : 저항 – JAVA [자바] (0) | 2022.08.08 |
[백준] 1075번 : 나누기 – JAVA [자바] (0) | 2022.08.08 |
[백준] 1547번 : 공 – JAVA [자바] (0) | 2022.08.08 |
댓글