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 |
Tags
- simulation
- hash table
- string
- Math
- Binary Tree
- 구현
- geometry
- SQL
- Binary Search
- Method
- Stack
- Data Structure
- array
- Counting
- java
- 자바
- 코테
- Number Theory
- dynamic programming
- bit manipulation
- database
- 파이썬
- Matrix
- two pointers
- Class
- Tree
- implement
- greedy
- sorting
- 코딩테스트
Archives
- Today
- Total
코린이의 소소한 공부노트
[프로그래머스/Lv.0] 캐릭터의 좌표 본문
1. Input
1) 머쓱이가 입력한 방향키의 문자열 배열 keyinput
2) 맵의 크기 정수 배열 board
2. Output
1) 키 입력이 모두 끝난 뒤에 캐릭터의 좌표를 나타내는 정수 배열
2) (0,0)은 board의 정 중앙이다. 예를 들어 board의 가로 크기가 9라면 왼쪽으로 최대 –4까지, 오른쪽으로 최대 +4까지 이동 가능하다.
3. Constraint
1) board은 {가로 크기, 세로 크기} 형태
2) board의 가로 크기와 세로 크기는 홀수
3) board의 크기를 벗어난 방향키 입력은 무시
4) 0 ≤ keyinput의 길이 ≤ 50
5) 1 ≤ board[0] ≤ 99
6) 1 ≤ board[1] ≤ 99
7) keyinput은 up, down, left, right로만 이루어져 있음
4. Example
Input: keyinput={up,up,up,up,up}, board={7,7} -> Output: {0,3}
설명: up 5번이면 {0,5}여야하지만 맵의 세로가 7이므로 위로는 3칸까지만 이동이 가능하다.
5. Code
1) 첫 코드(2022/10/26)
int[] answer = new int[2];
for(int i=0 ; i<keyinput.length ; i++){
if(keyinput[i].equals("up"))
if(answer[1] < board[1]/2) answer[1]++;
else if(keyinput[i].equals("down"))
if(answer[1] > board[1]/(-2)) answer[1]--;
else if(keyinput[i].equals("right"))
if(answer[0] < board[0]/2) answer[0]++;
else
if(answer[0] > board[0]/(-2)) answer[0]--;
} // end of for
return answer;
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[프로그래머스/Lv.0] 다항식 더하기 (0) | 2022.11.02 |
---|---|
[프로그래머스/Lv.0] 최댓값 만들기 (2) (0) | 2022.11.02 |
[프로그래머스/Lv.0] 직사각형 넓이 구하기 (0) | 2022.11.02 |
[프로그래머스/Lv.0] 머쓱이보다 키 큰 사람 (0) | 2022.11.02 |
[프로그래머스/Lv.0] 중복된 숫자 개수 (0) | 2022.11.02 |