본문 바로가기

알고리즘/백준 문제풀이13

[백준 Java]14620 꽃길 문제 14620번: 꽃길 (acmicpc.net) 14620번: 꽃길 2017년 4월 5일 식목일을 맞이한 진아는 나무를 심는 대신 하이테크관 앞 화단에 꽃을 심어 등교할 때 마다 꽃길을 걷고 싶었다. 진아가 가진 꽃의 씨앗은 꽃을 심고나면 정확히 1년후에 꽃이 피므 www.acmicpc.net 풀이방법 입력을 받을 때, 꽃술이 생겨날 수 있는 위치(테두리를 제외한 위치)를 Node클래스를 만들어 nodelist에 저장해둔다. 그 뒤에 순열 코드를 사용해 3개의 꽃술의 위치를 구한 후에 거리공식을 통해 거리가 2이내인 꽃들은 죽는 처리를 해준다. static boolean die() { int l1=Math.abs(picknode[0].x-picknode[1].x)+Math.abs(picknode[0]... 2022. 10. 23.
[백준 JAVA]16197 두 동전 문제 https://www.acmicpc.net/problem/16197 16197번: 두 동전 N×M 크기의 보드와 4개의 버튼으로 이루어진 게임이 있다. 보드는 1×1크기의 정사각형 칸으로 나누어져 있고, 각각의 칸은 비어있거나, 벽이다. 두 개의 빈 칸에는 동전이 하나씩 놓여져 있고, www.acmicpc.net 풀이방법 우선 어느쪽으로 갈지 중복순열을 통해서 구해주었다. 10개를 넘으면 -1을 출력하기 때문에, 10개를 뽑아주었다. static void perm(int cnt) { if(cnt==10) { min=Math.min(min, bfs()); return; } for(int i=0; i 2022. 9. 22.
[백준 Java] 주사위 굴리기 2 문제 https://www.acmicpc.net/problem/23288 23288번: 주사위 굴리기 2 크기가 N×M인 지도가 존재한다. 지도의 오른쪽은 동쪽, 위쪽은 북쪽이다. 지도의 좌표는 (r, c)로 나타내며, r는 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로부터 떨어진 칸의 개수이다. 가장 왼 www.acmicpc.net 풀이방법 알고리즘을 생각해 내기가 빡세다기보단 구현을 하는게 쉽지 않은 문제였다. bfs는 그냥 같은 숫자를 세어주면 되었기 때문에 구현이 복잡하진 않았다. 문제는 주사위의 방향을 만들어주고, 이에 따라 주사위의 전개도를 바꿔주는 것이 좀 복잡했던 문제였다. 주사위 방향을 정하는 코드는 다음과 같다. 시계방향으로 돌릴때는 인덱스에 +1을 더해주었고, 반시계 방향일 때에는 -.. 2022. 9. 19.
[백준 JAVA] N과 M(1~6) 재귀함수의 개념을 잡기 위해서 백준의 N과 M 문제를 1~6까지 풀어보았다. 재귀 개념이 부족하다면 아래 문제들을 풀어보는 것을 추천한다. 문제 https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사.. 2022. 9. 18.