문제 링크 : https://www.acmicpc.net/problem/10798
1. 요구 사항 이해
시간, 메모리 제한 : 1초 / 256 MB
주어진 다섯 개의 단어를 세로로 읽어서 출력.
다섯 줄의 문자열, 각 줄은 최대 15개의 문자로 구성 (영문 대소문자 및 숫자).
각 위치에서 세로로 읽은 글자들을 공백 없이 출력.
2. 설계/검증
복잡도
시간 복잡도 | 최악의 경우 | 공간 복잡도 |
O(1) | O(1) |
3. 정상 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 입력을 위한 객체 생성
Scanner scan = new Scanner(System.in);
// 5개의 단어를 저장할 배열 선언과 입력
String[] words = new String[5];
for (int i = 0; i < 5; i++) {
words[i] = scan.nextLine();
// 유효성 검사
if (words[i].length() < 1 || words[i].length() > 15) {
System.out.println("최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다");
return;
}
}
// 2차원 배열에 단어를 문자 단위로 저장
char[][] table = new char[5][15];
for (int i = 0; i < 5; i++) {
for (int j = 0; j < words[i].length(); j++) {
table[i][j] = words[i].charAt(j);
}
}
// 세로로 읽어서 출력
for (int j = 0; j < 15; j++) {
for (int i = 0; i < 5; i++) {
// 값이 null (\u0000)이 아니면 출력
if (table[i][j] != '\u0000')
System.out.print(table[i][j]);
}
}
scan.close();
}
}
'◖코딩 테스트◗▬▬▬▬▬▬▬▬▬ > 백준' 카테고리의 다른 글
[백준] 2563 색종이 (설명/코드/정답) (0) | 2024.11.14 |
---|---|
[백준] 2566 최댓값 (설명/코드/정답) (0) | 2024.08.17 |
[백준] 2738 행렬 덧셈 (설명/코드/정답) (0) | 2024.08.14 |
[백준] ✔️1546 평균 (설명/코드/정답) (0) | 2024.08.12 |
[백준] ✔️10811 바구니 뒤집기 (설명/코드/정답) (0) | 2024.08.12 |