일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- MaxHeap
- DISPATCH
- 입력
- 사내배포
- 공백
- delays deallocation
- Python
- ios
- input
- Combine
- async
- weak self
- RxSwift
- Custom Class
- swift
- reversed
- vtable
- readLine
- hitTest
- UserDefaults
- UIResponder
- moya
- binder
- BidirectionalCollection
- URLSession
- Asnyc
- 전자출입
- Responder chain
- ReactorKit
- AVCaptureSession
- Today
- Total
목록🍯 알고리즘 (4)
틈틈히 적어보는 개발 일기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bS6j18/btq1FB5LUHI/EyMaFmLkcNjtipINop75v1/img.png)
백준 알고리즘을 풀던 중, 알고리즘은 아무리 생각해도 맞는데 왜 자꾸 런타임 에러가 날까... 싶어서 한시간 동안 삽질하다가 해결법을 얻어 화가난 나머지 글로 남겨봅니다. 이 글을 읽으시는 여러분은 이런 일을 겪지 마시길 :( while let line = readLine() { let testCase = line.components(separatedBy: " ") } 백준 문제를 풀다가 보면 간혹 입력을 무한정 받고(프로그램의 종료 지점을 명시하지 않은 문제!!!!), EOF를 기점으로 테스트 케이스가 종료되는 문제들이 있다. 다른 언어를 사용하면서는 한번도 이런 일을 겪지 않았는데 Swift로 알고리즘을 풀다가 이런 일이 발생했다. 그래서 해결은? // 여기서는 String 값을 공백을 기준으로 잘라..
파이썬에서는 집합 자료형을 지원하며 집합 자료형의 특징은 다음과 같다. Hashable 이므로 중복이 없다 순서(index)가 없다 데이터를 다룸에 있어 O(1)의 시간이 소요된다. set1 = set([1, 2, 3, 4, 5]) set2 = set([1, 3, 5]) # 합집합 print(set1 | set2) # 결과 -> {1, 2, 3, 4, 5} # 교집합 print(set1 & set2) # 결과 -> {1, 3, 5} # 차집합 print(set1 - set2) # 결과 -> {2, 4} 집합(set)에 내가 찾는 원소가 있는지 찾기. if find_value in set1: print("find_value가 set1에 존재합니다!") else: print("find_value가 set1에..
공백을 기준으로 입력받은 값을 나누어 arr에 배열로 저장합니다. # split() 내부에 '(자를 문자)' 형식으로 특정 문자를 자를수도 있습니다. arr = input().split() # Input: 1 2 3 4 # Output: ['1', '2', '3', '4'] 각각의 문자를 int 형으로 변환하여 각 변수에 저장(매핑)합니다. # int 대신 다른 자료형을 사용할 수 있습니다. x, y = map(int, input().split()) # Input: 1 2 # Output: x = 1, y = 2 int 형으로 변환된 각 변수들을 list 형식으로 변환하여 저장합니다. arr = list(map(int, input().split())) # Input 1 2 3 4 # Output [1, ..
기존에 파이썬 입력 받을때 n = input() 이런 느낌으로 받았는데 이게 속도가 느리다고 한다. 그래서 import sys n = sys.stdin.readline().rstrip() 이렇게 변경 했는데 글자수가 너무 길어져서 import sys def read(): return sys.stdin.readline().rstrip() n = read() 로 변경해서 사용중이다. 나름 편하고 괜찮은 것 같다 여기서 rstrip()은 readline()에서 읽어들인 마지막 엔터도 같이 입력을 받기 때문에 제거하는 기능을 한다. strip() 관련한 글은 추후에 한번 작성해봐야겠다.