문제풀이/BOJ
-
💡[BOJ 1915/ 코틀린] 가장 큰 정사각형 - DP문제풀이/BOJ 2021. 9. 3. 16:03
백준 1915_가장 큰 정사각형 | 문제 링크 대표적인 동적계획법/동적 프로그래밍 (DP:Dynamic Programming) 문제입니다. 문제 설명 n*m 크기의 0과 1로만 이루어진 이차원 배열이 주어집니다. 이 배열에서 (테두리, 내부 포함) 1로 이루어진 가장 큰 정사각형의 넓이를 구하는 문제입니다. 입력 첫째 줄에 n, m(1 ≤ n, m ≤ 1,000)이 주어진다. 다음 n개의 줄에는 m개의 숫자로 배열이 주어진다. 출력 첫째 줄에 가장 큰 정사각형의 넓이를 출력한다. 전체 코드 fun main() { var n = 0 var m = 0 var maxLen = 0 readLine()!!.split(" ").let { n = it[0].toInt() m = it[1].toInt() } val m..
-
💡[BOJ 20922 / 코틀린] 겹치는 건 싫어 - 투 포인터문제풀이/BOJ 2021. 9. 3. 14:26
백준 20922_겹치는 건 싫어 | 문제 링크 투 포인터 기법을 활용한 문제입니다. 문제 설명 N개의 자연수로 이루어진 수열에서, 같은 수가 K번 이하로 반복되는 최장 연속 부분 수열을 구하는 문제입니다. N은 1~200,000 , K는 1~100 범위의 정수로 주어집니다.각 원소 ai는 1~100,000 범위의 정수로 주어집니다. 입력 첫째 줄에 정수 N과 K가 주어진다. 둘째 줄에는 a1,a2,...an이 주어진다. 출력 조건을 만족하는 최장 연속 부분 수열의 길이를 출력한다. Main 함수 (전체 코드) import java.util.* fun main() { var N:Int = 0 var K:Int = 0 readLine()!!.split(" ").let { N = it[0].toInt() K ..
-
💡[BOJ 21608 / 코틀린] 상어 초등학교 - 구현문제풀이/BOJ 2021. 9. 2. 18:19
백준 21608_상어 초등학교 | 문제 링크 특별한 알고리즘이 아닌 단순한 구현 문제입니다. 문제 설명 N*N 교실에 1번부터 N²번까지의 학생이 한 자리씩 앉습니다. 각 학생의 친한 친구 4명씩을 사전 조사를 통해 파악해놨습니다. 각 학생의 만족도 총합이 가장 큰 좌석 배치 방법을 구하시오. 근처에 친한 친구가 0명이면 만족도는 0이고, 1명이면 1, 2명이면 10, 3명이면 100, 4명이면 1000이다. '근처, 인접'은 사방(四方)을 이야기한다. 규칙의 순서는 다음과 같다. 1. 빈 칸 중 친구가 인접한 칸이 가장 많은 칸으로 자리를 정한다. 2. 1을 만족하는 칸이 여러 개이면, 인접한 칸 중 빈 칸이 가장 많은 칸으로 자리를 정한다. 3. 2를 만족하는 칸도 여러 개인 경우에는 행의 번호가 가..
-
💡 [BOJ 1012] 유기농 배추문제풀이/BOJ 2021. 6. 15. 10:03
문제) https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net [내 풀이] import sys # 재귀 제한(BOJ default 1000) 확장 sys.setrecursionlimit(10**9) # 첫줄 테이스케이스 개수 및 정보 입력 T = int(sys.stdin.readline()) for t in range(T): M, N, K = map(int, sys.stdin.readline().split(" ")) # table 초기화 table = [[0 fo..