2023/09/15 2

[Leetcode Top Interview 150] 909. Snakes and Ladders

난이도 : medium 문제링크 n*n 의 2차원 정수 배열이 주어짐 배열의 각 원소는 역 좌우교대서법 스타일로 라벨이 되어진다 맨 왼쪽 아래부터 읽혀짐 줄이 바뀔때마다 글씨를 쓰는 방향이 반대가 됨 글자의 모양도 반대가 됨 한번의 턴마다 [curr+1 ~ min(curr+6, n^2)] 의 범위로 움질일 수 있음 셀의 값은 -1 혹은 1~n^2 -1 : 일반 칸. 특정 범위로 이동하기 -1이 아님 : 해당 셀로 이동 (snake or labber) n^2 칸에 도착하면 게임이 종료됨 가장 적게 n^2에 도착하는 턴의 횟수를 리턴하라 이동이 불가능하다면 -1을 리턴하라 1. 접근법 접근법 자체를 떠올리지 못했다 너무 어. 렵. 다. (ㅠㅠ) 6. 회고 감이 전혀 안잡혀 강의를 들었다 class Pair ..

Algorithm/(Java) PS 2023.09.15

[Leetcode Top Interview 150] 133. Clone Graph

난이도 : medium 문제링크 연결 무방향 그래프의 노드가 주어진다 deep copy된 그래프의 노드를 리턴하라 각 노드의 값은 유일하다 1. 접근법 노드를 BFS 탐색하여 새로운 노드를 탐색할 때마다 clone함 2. 의사코드 // Queue에 node 노드 추가 queue.offer(node) // queue가 비어있지 않을때까지 반복 while (!queue.isEmpty()) { // 가장 최근에 들어온 것 뽑음 Node cur = queue.poll(); // cur의 이웃 순회 for (Node neighbor : cur.neighbors) { // 방문하지 않았던 이웃이라면 if (!map.containsKey(neighbor)) { // 큐에 추가 } // 현재 노드에 이웃 추가 } } ..

Algorithm/(Java) PS 2023.09.15