[Swift] 백준 1074 Z
·
📝 코테/BOJ
import Foundation let Nrc = readLine()!.components(separatedBy: " ").map { Int($0)! } let N = Nrc[0] let r = Nrc[1] let c = Nrc[2] var cnt = 0 // 한 변의 길이 let m = 2
[분할정복] 2차원배열을 n조각 내는 문제유형
·
📝 코테/유형정리
2차원 배열을 n조각 내는 문제유형은 다음과 같은 순서로 푼다. 1. 2차원 배열의 왼쪽 위를 기준으로, x, y좌표와 2차원배열의 크기 n을 입력받아 모든 원소가 똑같은지 체크해주는 함수를 만든다. 2. n조각 내는 재귀함수를 만든다. - 모든 원소가 똑같을 경우 값을 리턴하는 종료조건을 만든다. - 종료조건이 아닐 경우, n조각으로 자르기 위해 가중치 w를 설정한다. (w = N / n) - 이중 반복문으로 n조각 개수만큼 재귀함수를 호출한다. (ex : 4조각 -> (0..
[Swift] 백준2630 색종이 만들기
·
📝 코테/BOJ
import Foundation let N = Int(readLine()!)! var board = [[Int]]() var counts = [0, 0] for _ in 0.. Bool { for i in x..
[Swift] 백준 1922 쿼드트리
·
📝 코테/BOJ
import Foundation /// 주어진 영상이 모두 0으로만 되어있으면 압축 결과는 "0" /// 모두 1로만 되어있으면 압축결과는 "1" /// 만약 0과 1이 섞여있으면 전체를 한번에 나타내지 못하고 /// 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래 이렇게 4개의 영상으로 나누어 압축하게된다. /// 이 4개의 영역을 압축한 결과를 차례대로 괄호 안에 묶어서 표현한다. /// 분할정복이란? 문제를 나눌 수 없을 때까지 나누어서 다시 합병하여 문제의 답을 얻는 알고리즘 /// 상위의 해답을 구하기 위해 아래로 내려가면서 하위의 해답을 구함 let N = Int(readLine()!)! var board = [[Int]]() for _ in 0.. Bool { for i in x..
[Swift] 백준 1780 종이의 개수
·
📝 코테/BOJ
오늘 하루종일 풀려고 도전했는데 실패해서 결국 구글링을 했다.. 이 문제에서 주어진 N의 최대값은 3^7 = 2187이다. 즉 N^2 = 4782969 1초에 2000만회 연산된다고 해서 2초 = 4천만회안에 풀면되니까 O(N^2)로 풀면 될 줄 알았는데 .. 계속 시간초과 오류가 발생했다. 구글링 중 파이썬으로 푼 코드들을 Swift언어로 바꿔 풀어봐도.. 파이썬에서는 풀리지만 Swift에서는 풀리지 않았다ㅠㅠ O(N^2logN), O(NlogN) 등등 다양한 시간복잡도로 구현해봤는데 모두 실패했었다. import Foundation let N = Int(readLine()!)! var matrix = [[Int]]() for _ in 0..
JerryiOS
'분할정복' 태그의 글 목록