Computer/Algorithm_Java
[BaekJoon] 10798번 세로읽기 문제풀이 (Success)
HJ0216
2023. 6. 11. 08:38
728x90
10798번: 세로읽기
총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’
www.acmicpc.net
☕Language: Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
char[][] charArr = new char[5][15];
int maxLength = 0;
for(int i=0; i<5; i++) {
String s = br.readLine();
maxLength = Math.max(maxLength, charArr[i].length);
for(int j=0; j<s.length(); j++)
charArr[i][j] = s.charAt(j);
}
StringBuilder sb = new StringBuilder();
for (int i=0; i<maxLength; i++) {
for (int j=0; j<5; j++) {
if (charArr[j][i] == '\0') {
continue;
}
sb.append(charArr[j][i]);
}
}
bw.write(sb.toString());
bw.flush();
}
}
|
⭐ char[]와 Chacter[] 차이
: Character 클래스는 char 값을 포장하고 추가적인 기능을 제공하기 위해 사용
→ 문자열을 다루거나 문자 검색과 같은 고급 문자 작업을 수행해야 할 때 Character[]을 사용
: 대부분의 경우, 문자 배열을 나타내기 위해 char[]을 사용하는 것이 더 간단하고 효율적
⭐ StringBuffer()와 StringBuilder() 차이
: StringBuffer - 동기화 → 멀티스레드 환경에서 동기화가 필요하거나 스레드 안전성이 중요한 경우
: StringBuilder - 비동기화 → 단일 스레드 환경에서 문자열 조작을 수행하고 성능에 중점을 둘 경우
: 에는 StringBuffer를 사용하는 것이 적합
* 오버헤드(overhead): 추가 작업으로 인한 성능 저하
* 스레드(thread): 프로세스 내에서 독립적으로 실행될 수 있는 작은 실행 단위
소스 코드
🔗 HJ0216/TIL/BOJ
728x90