본문 바로가기

분류 전체보기77

[프로그래머스] DFS - 타겟 넘버 (Java) https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 문제 설명 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3.. 2021. 11. 3.
[백준 알고리즘] 구현 - 16236번: 아기상어 (Java) https://www.acmicpc.net/problem/16236 방금 푼 감시와 비슷했지만 더 어려웠던 것 같다. 내가 푼 프로세스는 Fish 클래스를 만들어 위치와 거리를 저장한다. bfs를 통해 현재 먹을 수 있는 물고기를 구한다. eat() 함수에서는 현재 먹을 수 있는 물고기들 중 가장 우선순위가 높은 물고기를 한 마리만 먹는다. 먹을 수 있는 물고기를 다 먹을 때 까지 무한반복. 주의사항 현재 상어의 위치를 확인했을 때, 물고기를 먹었을 때에는 해당 위치를 0으로 변경 물고기를 현재의 사이즈 만큼 먹어야 크기 1 증가. 2021. 11. 3.
[백준] 구현 - 15683: 감시 (Java) https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net 완전탐색에 더 가까운 문제이다. CCTV번호 별로 나눠서 방향에 알맞게 감시영역을 체크해주면 풀리는 문제이다. 처음에는 감시영역을 7로 체크하고 returnView() 메서드를 만들어서 func 메서드의 반복문 마지막에서 감시영역을 다시 0으로 바꿔줬다. CCTV가 여러개일 때 감시영역이 겹쳐 감시가 되고있음에도 0이되어서 배열을 복사해서 해결했다. 또한 CCTV가 없는 경우가 있었다... 2021. 11. 3.
[프로그래머스] 그래프 - 가장 먼 노드 (Java) https://programmers.co.kr/learn/courses/30/lessons/49189 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr 문제 설명 n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다. 노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때, 1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지를 return 하도록 solutio.. 2021. 8. 2.