자료구조와 알고리듬 With Java/[Study] BAEKJOON 프로그래머스 CodeUp LeetCode

2022-08-03 [9회차] 알고리즘 스터디

계란💕 2022. 8. 3. 02:12

1. 색종이 붙이기 - 백트래킹

출처 https://www.acmicpc.net/problem/17136

 

17136번: 색종이 붙이기

<그림 1>과 같이 정사각형 모양을 한 다섯 종류의 색종이가 있다. 색종이의 크기는 1×1, 2×2, 3×3, 4×4, 5×5로 총 다섯 종류가 있으며, 각 종류의 색종이는 5개씩 가지고 있다. <그림 1> 색종이를 크

www.acmicpc.net

  Sol) 476ms

java
열기

    - 두 가지 메서드를 먼저 만든다.

    1) 색종이를 붙이거나 뗄 때 배열의 값을  target으로 바꿔주기 위한 change() 

    2) 어떤 위치에서 특정 사이즈의 색종이를 붙일 수 있는지 나타내는 boolean 메서드 Stickable()

 

    - DFS메서드에서는 2차원 배열에 대해 0행 0열 부터 한 칸씩 모두 돌면서 색종이를 붙일 수 있는지 확인하면서 cnt를 함께 카운트해준다. 

    - 색종이를 큰 것 부터 붙여야 최소한의 개수를 반환할 수 있으니 사이즈 5부터 1까지 차례대로 붙인다.

    - 그리고 색종이를 붙일 수 있는 경우에는 색종이를 붙이는 경우와 붙이지 않는 경우에 대해 모두 확인하기 위해 DFS()전 후로 색종이를 붙였다가 떼도록 한다. 

    - 색종이를 붙일 수 없는 경우에는 다음 칸으로 DFS()을 실행하도록 한다.

 

 

 

2. Linked List Cycle II - 토끼과 거북이 알고리즘

출처 https://leetcode.com/problems/linked-list-cycle-ii/

 

Linked List Cycle II - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

문제 가져온 스터디원 블로그 - https://guiwoo.tistory.com/

  Sol)

java
열기

    - 3번 솔루션은 언젠가는 만나니까 투포인터로 풀 수 있다.

    - 플로이드 워셜로도 풀 수 있다.

    - 매개변수로  pos가 제시되시 않는다.