본문 바로가기

Algorithm50

[백준] 구현 - 14503: 로봇 청소기 (Java) https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 구글에 쳐보니까 보통 재귀로 풀어서 반복문으로 푼 내 방법으로 해결하는데 꽤 오래 걸렸다. 내일 우테코 코테인데 못풀고 갈까 걱정했지만 정답 맞추고 시험 볼 수 있어서 기분이 좋다.ㅎㅎ 시뮬레이션은 문제 잘 읽어서 상황만 잘 나누면 80% 해결한 것이라고 생각한다. 2021. 11. 6.
[프로그래머스] 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.