728x90
자바
간단해보였는데 50분이나 걸렸다 ㅡㅡ
두 세번 뒤엎은 것 같다.
처음시도
ArrayList를 사용해서 첫 줄 ABCDE입력시 인덱스 0,5,10,15,20번째에 넣고
둘째 줄 abcde입력시 인덱스를 1,6,11,16,21 이런식으로 넣어줘서 마지막에는 list사이즈만큼 반복문을 돌려서 값을 출력하려고 했다. 그런데 잘 안 됐음. 보니까 될 거 같은데 왜 안 됐지 ? 다시 해봐야겠다. 암튼
두 번째 시도
ArrayList에 자료형을 <char[]> 이렇게 char형 배열로 넣어서 한 줄 문자열 입력받은뒤에 하나씩 찢어 char형 1차원 배열 c에 넣고 걔를 하나씩 list에 추가를 해줬다. 근데 출력할 때 한 줄이 5글자가 아닐 때 오류가 나더라. 굳이 이렇게 복잡하게 할 필요가 있나 싶었다.
마지막 정답
그냥 2차원 배열 만들어서 값 하나하나씩 저장한 다음에 출력할 때 값이 0이면 continue로 다음 반복으로 넘어가게했고 아니면 화면에 출력한다. 근데 출력 순서가 0,0 1,0 2,0 .. 이런식으루 ..
package algorithm;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
class Main{
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//int N = Integer.parseInt(st.nextToken());
//int M = Integer.parseInt(st.nextToken());
char arr[][] = new char[15][15];
//List <char[]> list = new ArrayList<>();
for(int i=0;i<5;i++) {
String str = br.readLine();
for(int j=0;j<str.length();j++) {
arr[i][j]= str.charAt(j);
}
}
for(int i=0;i<15;i++) {
for(int j=0;j<15;j++) {
if(arr[j][i] != 0)
System.out.print(arr[j][i]);
else continue;
}
}
}
}
728x90
'알고리즘 > 백준' 카테고리의 다른 글
2745번 문제 : 진법변환 (0) | 2023.05.05 |
---|---|
2563번 문제 : 색종이 (0) | 2023.05.05 |
2566번 문제 : 최댓값 (0) | 2023.05.02 |
2738번 문제 : 행렬 덧셈 (0) | 2023.05.02 |
25206번 문제 : 너의 평점은 (0) | 2023.05.02 |