본문 바로가기
728x90

백준149

[백준] 1307번 : 마방진(JAVA) https://www.acmicpc.net/problem/1307 1307번: 마방진 마방진이란 N*N의 격자의 각 칸에 1부터 N*N까지의 정수를 정확히 하나씩 채웠을 때, 모든 가로줄, 세로줄, 대각선의 합이 같은 배치를 말한다. 예를 들면, 다음은 3*3 마방진 중 하나이다. 가로줄, www.acmicpc.net 풀이 ※ 출처 : https://destiny738.tistory.com/244?category=48883 홀수 마방진 홀수 마방진은 마방진을 만드는 것중에서 가장 간단한 형태이다. 위에서 파란원이 만들려고 하는 마방진이다.(크기 3짜리 3*3 마방진을 만든다.) 다음과 같은 과정을 따르며 마방진을 완성해간다 destiny738.tistory.com 여기 사이트에 적혀져 있는 분의 내용을 .. 2021. 9. 26.
[백준] 2210번 : 숫자판 점프(JAVA) https://www.acmicpc.net/problem/2210 2210번: 숫자판 점프 111111, 111112, 111121, 111211, 111212, 112111, 112121, 121111, 121112, 121211, 121212, 211111, 211121, 212111, 212121 이 가능한 경우들이다. www.acmicpc.net 풀이 5 x 5크기의 배열로 값을 입력받습니다. 5 x 5 크기만큼 dfs를 실행합니다. (위치x, 위치y, 카운트, 위치 값) 입력받은 위치의 상하좌우가 가능하면 dfs로 위치를 변경후 실행시킵니다. (아닐경우 continue) count가 5인경우 5개의 경로를 지나온것이므로 HashSet에 값을 저장합니다.(중복 제거) 모든 dfs를 지난 후 set.. 2021. 9. 10.
[백준] 12015번 : 가장 긴 증가하는 부분 수열2(JAVA) https://www.acmicpc.net/problem/12015 12015번: 가장 긴 증가하는 부분 수열 2 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000,000) www.acmicpc.net 풀이 처음수로 0을 주어지고 count로 위치를 1로 지정합니다. count - 1보다 수가 클경우 count위치에 값을 넣고 증가시킵니다. 아닐 경우 value의 위치를 구하고 그 위치에 값으 value로 변경해줍니다. 소스코드 ArrayList + 이분 구현 import java.io.BufferedReader; import java.io.IOException; import java.io.In.. 2021. 9. 9.
[백준] 14925번 : 목장 건설하기(JAVA) https://www.acmicpc.net/problem/14925 14925번: 목장 건설하기 랜드 씨는 퇴직금으로 땅을 사서 목장을 지으려 한다. 그가 사려고 소개받은 땅은 직사각형이고 대부분 들판이지만, 여기저기에 베기 어려운 나무와 치울 수 없는 바위가 있다. 그는 목장을 하 www.acmicpc.net 풀이 1이나 2가 아닌 0이 있을 때 농장을 지을 수 있습니다. 정사각형을 지을 수 있으면 그자리에 +1해서 사이즈를 추가해줍니다(dp) -1,0부분, 0,-1부분, -1,-1부분 중 가장 작은 수를 구한후 +1을 시켜 가장 큰 정사각형을 구할 수 있습니다. 소스코드 import java.io.BufferedReader; import java.io.IOException; import java.io.. 2021. 9. 8.
728x90