목록전체 글 (473)
MUKER_DEV with iOS
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bnZeCV/btr9NEGMmND/FvJI6Q4FwYgu4avijlOkjk/img.png)
11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. www.acmicpc.net 나의 풀이 var a = [0,1,3,5] for i in 4...1000 { a.append((a[i-1] + a[i-2] * 2) % 10007) } print(a[Int(readLine()!)!]) 풀이 키워드 DP 타일링 문제
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/RCchd/btr9At7JFBT/12PLUPTmJkcHWRzWNoTrok/img.png)
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 func solution(_ m:Int, _ n:Int, _ board:[String]) -> Int { var blocks = board.map { $0.map { String($0) } } let searchY = [0,1,1] let searchX = [1,0,1] var erased = [(Int,Int)]() repeat { erased = [] for cycleY in (0..= 3 { erased.append((cycleY,cycleX)) } } } for i in erased { //..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bbOaz1/btr9rhfJ0qh/IX7tlFXvkhCJH0qpCkeni1/img.png)
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 func solution(_ word:String) -> Int { let alphabet = ["A","E","I","O","U"] var arr = [String]() func DFS(_ s: String) { arr.append(s) if s.count == alphabet.count { return } for i in 0..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cKLoPH/btr9pcjFASV/PcKsSZkodVXsQJEePSXNBk/img.png)
11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 나의 풀이 var a = [0,1,2] for i in 3...1001 { a.append((a[i-1] + a[i-2]) % 10_007) } print(a[Int(readLine()!)!]) 풀이 키워드 DP 타일링 문제
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Rb2bK/btr9nnlBJ3p/oLKSa28j1Au3sKKFhLXfKK/img.png)
9461번: 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 www.acmicpc.net 나의 풀이 var a = [0,1,1,1,2,2,3,4,5,7,9] for i in 11...100 { a.append(a[i-2] + a[i-3]) } for _ in 0..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qvsDd/btr9kiZJENX/hX8DTEHckW1aTYvMIM9pw1/img.png)
9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 나의 풀이 var a = Array(repeating: 0, count: 12) a[1] = 1 a[2] = 2 a[3] = 4 for i in 4...11 { a[i] = a[i-1] + a[i-2] + a[i-3] } for _ in 0..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/egeYXw/btr8206vKTe/gPogAiZ0h0A1Rnxbqb9Ci0/img.png)
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 import Foundation func solution(_ files:[String]) -> [String] { var dic = [Int: [String]]() files.enumerated().forEach { index, str in let head = str[str.startIndex..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bidRUo/btr8KHTJ6xm/MCzeM6ZdgP1qMCvxpW4oqK/img.png)
2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 나의 풀이 let NM = readLine()!.split(separator: " ").map { Int($0)! } let (N,M) = (NM[0],NM[1]) var maze = [[Int]]() let moveX = [0,0,1,-1] let moveY = [1,-1,0,0] var queue = [(0,0)] var result = 1 for _ in 0..= 0 && nowX < M else { continue } if maze[nowY][nowX] == 1 { maze[nowY][..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bcGUdo/btr8Lj5FjI8/PKfIDAiMgrxu8M0fUzuYG0/img.png)
1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 나의 풀이 let NMV = readLine()!.split(separator: " ").map { Int($0)! } let (N,M,V) = (NMV[0],NMV[1],NMV[2]) var graph = [Int: [Int]]() var visited = Array(repeating: false, count: N+1) var (dfs,bfs) = ([Int](),[Int]()) for _ in 0..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/YobdW/btr8vNTPTsC/BFpecZ3VNM7Hg08l7xiTuk/img.png)
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 func solution(_ dirs:String) -> Int { var now = (0,0) var visited = Set() for i in dirs { var move = (0,0) var new = (0,0) switch i { case "U": move = (1,0) case "D": move = (-1,0) case "L": move = (0,-1) case "R": move = (0,1) default: break } new.0 = now.0 + move.0 new.1 = now.1..