본문 바로가기

dxdy테크닉5

코드트리 [자바 java] 네 방향 탈출 가능 여부 판별하기 https://www.codetree.ai/missions/2/problems/determine-escapableness-with-4-ways?utm_source=clipboard&utm_medium=text https://ethereal-coder.tistory.com/86 코드트리 [자바 java] 두 방향 탈출 가능 여부 판별하기 https://www.codetree.ai/missions/2/problems/determine-escapableness-with-2-ways?utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보 ethereal-coder.tistory.com 두방향 탈출여부 .. 2023. 8. 1.
코드트리 [자바 java] 두 방향 탈출 가능 여부 판별하기 https://www.codetree.ai/missions/2/problems/determine-escapableness-with-2-ways?utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai dfs를 이용해서 탈출 가능 여부를 판단하는 문제이다. 0,0에서 출발해서 오른쪽, 아래로 갈 수 있는 길이 있는지 하나씩 탐색한다. 만약 갈 수 있다면, stack에 넣고 다시 그 위치에 대한 오른쪽, 아래를 탐색한다. 위와 오른쪽의 격자를 탐색하기 위해 dx,dy테크닉을 사용했고, 위, 왼쪽으로.. 2023. 7. 31.
코드트리 [자바 java] 빙빙 돌며 숫자 적기 https://www.codetree.ai/missions/5/problems/snail-number-square/introduction 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 이 문제는 위와 같은 방식으로 숫자 n이 주어지면 시계 반대방향으로 돌면서 숫자를 채워야 한다. 이는 dx,dy테크닉을 이용하면 쉽게 풀 수 있다. 위 그림과 같이 동,서,남,북에 숫자를 적고, 벽을 만날 때마다 방향을 하나씩 더해주도록 하였다. 벽을 만나는 것은 현재 위치에다가 해당하는 dx,dy .. 2023. 7. 29.
코드트리 [자바 java] 방향에 맞춰 이동 https://www.codetree.ai/missions/5/problems/move-in-direction/description 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 이동할 방향과, 이동거리가 주어지고, 이에 따른 최종 위치를 출력하는 문제이다. 알고리즘특강 시간에 배운 dx,dy테크닉을 사용하니 정말 쉽게 풀렸다. dx,dy테크닉에서 정말 중요한 것이 dx,dy배열에 0과 1,-1을 잘 배치하는 것이다. int[] dx = {0,1,0,-1}; int[] dy = {1,0,-1,0}; 나는 위와 같이 설계했고, 0,1,2,3 순서대로 .. 2023. 7. 28.
알고리즘 특강 1일차 : dx, dy 테크닉 dx,dy 테크닉은 좌표를 상하좌우로 움직이는 알고리즘을 풀 때 주로 사용하는 방법이다. 사실 이 방식은 문제를 풀고 다른 사람 코드랑 비교하는 과정에서 많이 보았는데, 그냥 편해서 사용하는줄만 알았던 코드가 하나의 알고리즘 개념이었다니 신기했고, 앞으로는 이 방법을 적극적으로 이용해야겠다는 생각이 들었다! 0이 입력되면 동쪽으로, 1이 입력되면 남쪽으로, 2가 입력되면 서쪽으로 , 3이 주어지면 북쪽으로 가는 코드를 짜려고 한다. int nowNum = 0; int x = 1; int y = 1; if(nowNum == 0){ x++; } else if(nowNum = 1){ y--; } else if(nowNum = 2){ x--; } else if(nowNum =3){ y++; } 이러한 방식으로 .. 2023. 7. 24.