백준 2458 키 순서 풀이 (feat. JAVA)
·
Algorithm
DFS를 양방향으로 해야하나? 라고 생각했던 문제근데 그냥 플루이드 워셜을 쓰면 된다플루이드 워셜이 전혀 몰랐던 경로 탐색 응애인 나는... 신세계를 발견해버리고 만다이런게 있다고...? ㅋㅋㅋ 진짜 사람들은 천재인가보다;;원리는 이해했고, 이론은 (비교적) 쉬운 편이라고 생각하는데 내가 또 구현해보라고 하면 그건 또 다른 얘기라당분간은 최단 경로, 플루이드 워셜, 다익스트라 쪽을 공부해야할 것 같다 package Record;/*[백준]2458, 키 순서[문제파악]- 1번부터 N번까지 번호가 붙여져 있는 학생들에 대하여 두 학생끼리 키를 비교한 결과의 일부가 주어져 있다.- 단, N명의 학생들의 키는 모두 다르다고 가정한다.- 예를 들어, 6명의 학생들에 대하여 6번만 키를 비교하였고, 그 결과가 다음..
백준 1987 알파벳 풀이 (feat. JAVA)
·
Algorithm
1년만에 재도전한 문제당시엔 못 풀었는데 이번에 풀어버렸다.. 넘 뿌듯..더군다나? 포기 않고 코드 리팩토링까지!! 풀고나서 다른 풀이 코드들 살펴봤는데 비트마스킹을 써야만 시간을 대폭 줄일 수 있더라 꾸준히 하니까 성장을 하긴 했구나 뿌듯하다이번 알고리즘 문제에서 배운 것은 아래 코드 주석의 [보완점]에 자세히 기술해 두었다 package UnRecord;/*[백준]1987, 알파벳[문제파악]- 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다.- 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다.- 말은 상하좌우로 인접한 네 칸 중의 한 칸으로 이동할 수 있는데, 새로 이동한 칸에 적혀 있는 알파벳은 지금까지 지나온 모든 칸에 적혀 있는 알파벳..
백준 19236 청소년 상어 풀이 (feat. JAVA)
·
Algorithm
아기 상어 풀고나서 도전해봤는데 얘도 어렵네...유의점은 백트래킹을 써야한다는 것인데 내가 백트래킹이란 것을 너무 어렵게 생각했단 것이다백트래킹은 그저 가치치기하는 것 역시도 백트래킹 중 하나다...(여기서 말하는 가지치기란, 조건에 부합하지 않는 경우의 수는 끝까지 진행하지 않고 중간에 끊는 것을 의미한다) 모든 코드에 대한 설명은 주석으로 진행하였음!package UnRecord;/*[백준]19236, 청소년 상어[문제파악]- 아기 상어가 성장해 청소년 상어가 되었다.- 4×4크기의 공간이 있고, 크기가 1×1인 정사각형 칸으로 나누어져 있다.- 공간의 각 칸은 (x, y)와 같이 표현하며, x는 행의 번호, y는 열의 번호이다.- 한 칸에는 물고기가 한 마리 존재한다.- 각 물고기는 번호와 방향을 ..
백준 16236 아기상어 풀이 (feat. JAVA)
·
Algorithm
개인적으로 너무 어려웠던 문제나중에 다시 풀고자 기록해두고자 포스팅 해둔다모든 코드에 대한 설명은 주석으로 진행하였음! package UnRecord;/*[백준]16236, 아기상어[문제파악]- N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다.- 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다.- 한 칸에는 물고기가 최대 1마리 존재한다.- 아기 상어와 물고기는 모두 크기를 가지고 있고, 이 크기는 자연수이다.- 가장 처음에 아기 상어의 크기는 2이고, 아기 상어는 1초에 상하좌우로 인접한 한 칸씩 이동한다.- 아기 상어는 자신의 크기보다 큰 물고기가 있는 칸은 지나갈 수 없고, 나머지 칸은 모두 지나갈 수 있다.- 아기 상어는 자신의 크기보다 작은 물고기만 먹을 수 있다.- 따라서, ..