반응형

분류 전체보기 62

[백준] 2251. 물통 (JAVA)

🧺 물통 "첫 번째 물통이 비어있을 때"라는 조건을 못 보고 한참을 헤맸다. 😓 구현 자체는 어렵지 않았으나 중복 코드를 어떻게 해결할 지 아직 생각하지 못했다. . (안했다) 리팩토링.. 다음에.. 꼭.. 문제 각각 부피가 A, B, C(1≤A, B, C≤200) 리터인 세 개의 물통이 있다. 처음에는 앞의 두 물통은 비어 있고, 세 번째 물통은 가득(C 리터) 차 있다. 이제 어떤 물통에 들어있는 물을 다른 물통으로 쏟아 부을 수 있는데, 이때에는 한 물통이 비거나, 다른 한 물통이 가득 찰 때까지 물을 부을 수 있다. 이 과정에서 손실되는 물은 없다고 가정한다. 이와 같은 과정을 거치다보면 세 번째 물통(용량이 C인)에 담겨있는 물의 양이 변할 수도 있다. 첫 번째 물통(용량이 A인)이 비어 있을 ..

[프로그래머스] [월간 코드 챌린지 시즌1] 풍선 터트리기 (JAVA)

🎈 풍선 터트리기 첫 번째는 DFS로 접근하여 풀어서 시간 초과가,두 번째는 BFS로 접근하여 풀어서 메모리 초과가 났다. 결국 다른 사람의 풀이를 참고하였고, 수학적으로 접근해(?) 해결할 수 있었다. 문제 설명 일렬로 나열된 n개의 풍선이 있습니다. 모든 풍선에는 서로 다른 숫자가 써져 있습니다. 당신은 다음 과정을 반복하면서 풍선들을 단 1개만 남을 때까지 계속 터트리려고 합니다. 임의의 인접한 두 풍선을 고른 뒤, 두 풍선 중 하나를 터트립니다. 터진 풍선으로 인해 풍선들 사이에 빈 공간이 생겼다면, 빈 공간이 없도록 풍선들을 중앙으로 밀착시킵니다. 여기서 조건이 있습니다. 인접한 두 풍선 중에서 번호가 더 작은 풍선을 터트리는 행위는 최대 1번만 할 수 있습니다. 즉, 어떤 시점에서 인접한 두 ..

반응형