250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- JLPT
- 백준
- 자바스크립트
- 일본어
- 자바
- 이벤트
- 알고리즘
- 초연결 사회의 데이터통신과 네트워킹
- prettier-code formatter
- ScrollToPlugin
- Node.js
- 네트워킹
- 한빛아카데미
- 함수
- 데이터통신
- JavaScript
- html
- Algorithm
- 스크롤
- quizlet
- 라이브러리
- React
- java
- gsap
- scrolly
- reactjs code snippets
- 단어장
- 초연결사회의 데이터통신과 네트워킹
- ArrayList
- 연습문제
Archives
- Today
- Total
umilove98의 블로그
백준 1730 Java 자바 본문
반응형
n을 입력받아 n x n 형태의 배열을 만들고 '.' 으로 전부 채운다.
로봇 팔의 이동을 나타내는 문자열을 입력받아 한 문자씩 자르고 각 문자에 맞춰서 로봇 팔이 이동하는 것을 나타낸다
수직으로 이동시에 . 이라면 | 로 변경 - 이라면 + 로 변경
수평으로 이동시에 . 이라면 - 로 변경 | 이라면 + 로 변경
이를 반복한 후 모든 이동을 마치면 전체 배열을 출력한다.
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Q1730 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
String s = br.readLine();
char[][] board = new char[n][n]; // n x n 의 배열 생성
for(char[] row: board) // 배열을 전부 . 로 채움
Arrays.fill(row, '.');
int x = 0, y = 0; // 판 위에서 로봇 팔의 위치를 나타낼 인덱스 변수
for(int i = 0; i < s.length(); i++) {
char move = s.charAt(i);
switch(move) {
case 'D':
if(x != n-1) { // 로봇 팔이 아래로 더 움직일 수 있는지 확인
if(board[x][y] == '.') {
board[x][y] = '|';
}else if(board[x][y] == '-') {
board[x][y] = '+';
}
x++;
if(board[x][y] == '.') {
board[x][y] = '|';
}else if(board[x][y] == '-') {
board[x][y] = '+';
}
}
break;
case 'U':
if(x != 0) { // 로봇 팔이 위로 더 움직일 수 있는지 확인
if(board[x][y] == '.') {
board[x][y] = '|';
}else if(board[x][y] == '-') {
board[x][y] = '+';
}
x--;
if(board[x][y] == '.') {
board[x][y] = '|';
}else if(board[x][y] == '-') {
board[x][y] = '+';
}
}
break;
case 'L':
if(y != 0) { // 로봇 팔이 왼쪽으로 더 움직일 수 있는지 확인
if(board[x][y] == '.') {
board[x][y] = '-';
}else if(board[x][y] == '|') {
board[x][y] = '+';
}
y--;
if(board[x][y] == '.') {
board[x][y] = '-';
}else if(board[x][y] == '|') {
board[x][y] = '+';
}
}
break;
case 'R':
if(y != n-1) { // 로봇 팔이 오른쪽으로 더 움직일 수 있는지 확인
if(board[x][y] == '.') {
board[x][y] = '-';
}else if(board[x][y] == '|') {
board[x][y] = '+';
}
y++;
if(board[x][y] == '.') {
board[x][y] = '-';
}else if(board[x][y] == '|') {
board[x][y] = '+';
}
}
break;
}
}
for(int i = 0; i < n; i++) { // 결과물 출력
for(int j = 0; j < n; j++) {
System.out.print(board[i][j]);
}
System.out.println();
}
}
}
|
cs |
반응형
'algorithm > 백준' 카테고리의 다른 글
백준 1769 Java 자바 (0) | 2021.08.20 |
---|---|
백준 2420 Java 자바 (0) | 2021.08.19 |
백준 2061 Java 자바 (0) | 2021.08.18 |
백준 1544 Java 자바 (0) | 2021.08.17 |
백준 1712 Java 자바 (0) | 2021.08.16 |