목록분류 전체보기 (47)
코딩
start = 0 end = max(array) result = 0 while(start mid: tatal += x - mid if total < m: end = mid - 1 else: result = mid start = mid + 1 print(result)
target: 타겟배열 target_num: combi 하고싶은 수 index: 현재 인덱스 tmp: 현재까지 combi된 배열 func combination(_ target:[String], _ target_num: Int, _ index: Int,_ tmp:[String]){ if tmp.count == target_num{ print(tmp) return } for i in index ..< target.count{ combination(target, target_num, i+1, tmp + [target[i]]) } } print(combination(["h","e","l","l","o"], 3, 0, []))
딕셔너리에서 값 가져오기 key 값 가져오기 key를 출력하는것은 쉽다. 다른 언어와 다를 바가 없다. var dict1 = [Int:String]() dict1[0] = "Hi" dict1[1] = "Bye" dict1[2] = "Seeyou" for (key, value) in dict1{ print(key) } print(dict1.keys) // 1 for key in dict1.keys{ // 2 print(key) } 이런식으로도 가져올 수 있는데, 단 나온 결과 값은 print할 때마다 다르고 배열로 반환되지 않는다.(따라서 하나씩 접근할 수 없다.) 그러니 결국 key값을 하나하나 가져오려면 2번째와 같이 해줘야한다. value 값 가져오기 var dict1 = [Int:String]() ..
Swif는 다른 언어와 달리 String자르기가 조금 귀찮다. 파이썬의 경우 string[1:3]을 하면 인덱스 1부터2까지의 문자열이 잘라지지만 Swift는 그러지 않는다. String 자르기 Swift에서 String을 자르고 싶다면 이것만 기억하면 된다. string.index(string.startIndex, offsetBy: number) startIndex 즉 0 에서 number만큼 떨어진곳의 인덱스를 구한다는 뜻이다. var str = "Hello, stranger" let startIndex = str.index(str.startIndex, offsetBy: startingNumber)// 사용자지정 시작인덱스 let endIndex = str.index(str.startIndex, of..
1. Xcode실행 -> File -> New -> Playground 2. Blank를 선택해준다. 3. 출력하고 싶은 값을 써주고 play버튼을 눌러준다. 이렇게 Xcode에서 playground를 실행하는 방법은 아주쉽다. 하지만 쓰다보니 문제점을 느꼈는데 간단한 print를 하더라도 running 타임이 너무 길다. 그래서 구글로 검색해 보았더니 https://developer.apple.com/forums/thread/73890 Playgrounds unresponsive/slow/unhe… | Apple Developer Forums Is it just me or Playground on Mac is super slow and unresponsive (keeps running forever, ..
https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 문제 크기가 N인 수열 A = A1, A2, ..., AN이 있다. 수열의 각 원소 Ai에 대해서 오큰수 NGE(i)를 구하려고 한다. Ai의 오큰수는 오른쪽에 있으면서 Ai보다 큰 수 중에서 가장 왼쪽에 있는 수를 의미한다. 그러한 수가 없는 경우에 오큰수는 -1이다. 예를 들어, A = [3, 5, 2, 7]인 경우 NGE(1) = 5, NGE(2) = 7, NGE(3) = 7, NGE(4) = -1이다. ..
https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net Input 4 7 6 13 4 8 3 6 5 12 DP 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 1(6, 13) 0 0 0 0 0 0 13 13 2(4, 8) 0 0 0 0 8 8 13 13 3(3, 6) 0 0 0 6 8 8 13 14 4(5, 12) 0 0 0 6 8 12 13 14 현재물건(row), 현재 ..
www.acmicpc.net/problem/1561 1561번: 놀이 공원 첫째 줄에 N(1 ≤ N ≤ 2,000,000,000)과 M(1 ≤ M ≤ 10,000)이 빈칸을 사이에 두고 주어진다. 둘째 줄에는 각 놀이기구의 운행 시간을 나타내는 M개의 자연수가 순서대로 주어진다. 운행 시간은 1 이상 30 www.acmicpc.net n, m = map(int, input().split()) times = list(map(int, input().split())) start, end = 0, 2_000_000_000_000_000_000 # N의 최댓값 x M의 최댓값 total_time= 0 # n명까지 놀이기구를 모두 타는데 걸리는 시간 while start = n: is_possible = True ..