카테고리 없음
[코드트리 챌린지] 5주차 - 드디어 500점 돌파
꽁난이
2023. 10. 9. 18:29
챌린지 후기글을 쓰는 시간은 참 빨리 찾아오는 것 같다.
공부량은 턱없이 부족한 것 같은데 이것저것 하다보니 시간은 금새 사라져있다.
어쩔 수 없다. 오늘도 불안함과 쫄리는 마음으로 진단 평가를 본다.
드디어 내 1차 목표 점수였던 500점을 정복했다.
끊임 없는 삽질의 연속 끝에 나의 발목을 계속 붙잡던 다중 배열 문제를 풀어냈다.
물론 그 다음 문제는 손도 못대고 못풀었지만 새로운 부분의 학습이 필요하다는 것을 깨달은 것으로 만족한다.
500점 넘기는데 한달 넘게 걸린게 안자랑이긴 하다만..
시뮬레이션?
음.. 평소에 이것저것 상상하며 시뮬레이션을 돌리긴하다만 그 시뮬레이션과 같은 의미인건가??
잘 모르겠다.
예제 문제를 풀어보았다.
dx, dy 라는 새로운 용어가 등장한다. 또 다시 나의 두뇌가 지끈거리기 시작한다.
음.. 가만보니 교재 목차에 따르면 내 현재 진도보다 훨씬 뒷 부분 내용이다.
부지런히 진도를 나가야겠다..
시뮬레이션부터 공부하면 제일 좋겠으나.. 진도를 건너뛰고 학습할 정도의 수준인지 내 스스로에게 의심이 되기 때문에 이론만 가볍게 찍먹해보고 내일도 열공하자.
링크 참고 - dx, dy 이론 기초
https://www.codetree.ai/missions/5/problems/move-in-direction/description
import java.util.Scanner;
public class MovePosition {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// Define dx, dy for N, E, S, W
int[] dx = {0, 1, 0, -1};
int[] dy = {1, 0, -1, 0};
String[] directions = {"N", "E", "S", "W"};
// Set initial position
int x = 0, y = 0;
int N = sc.nextInt();
for (int i = 0; i < N; i++) {
String direction = sc.next();
int steps = sc.nextInt();
for (int j = 0; j < directions.length; j++) {
if (direction.equals(directions[j])) {
x += dx[j] * steps;
y += dy[j] * steps;
break;
}
}
}
System.out.println(x + " " + y);
sc.close();
}
}
하.. 이 고뇌의 시간은 언제쯤 끝나는 것일까