์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- SwiftUI ํํ ๋ฆฌ์ผ
- ์ฐ์ํ์ค๋ถ๋ถ์์ด์ํฉ
- ๋์ ๊ณํ๋ฒ
- binarySearch
- DynamicProgramming
- ๋ค์ด๋๋ฏนํ๋ก๊ทธ๋๋ฐ
- URLSession
- SwiftUI
- Til
- SOPT
- algorithm
- dfs
- 0์ด๋์ด์๋๊ธธ
- APPJAM
- GCD
- ๊ณ ๋์ kit
- discardableResult
- algoritm
- SwiftUI Tutorials
- SQL
- concurrency
- ๊ธฐ์ด๋ฌธ๋ฒ
- ์ด์งํ์
- BFS
- HAVIT
- GroupBy
- ํ๋ก๊ทธ๋๋จธ์ค
- duno
- Swift
- IOS
- Today
- Total
suvera-dev ๐ฅฆ
20230406 TIL ๋ณธ๋ฌธ
4์ผ / 5์ผ์ ๋ค๋ฅธ ์ผ์ ์ผ๋ก ์ธํด .. ๊ณต๋ถ๋ฅผ ๋ชปํด์ 3์ผ๋ง์ ๋์์๋ค์ ใ
์ค๋๋ง์ ๋ ธ๋์ ํ๋๋ .. ^^ ๊ณต๋ถ๋ฅผ ํ ์ฒด๋ ฅ์ด ์์์ต๋๋ค ใ ใ ใ
ํ์ง๋ง ์ค๋์ ํผ๊ณคํจ์ ๊พธ์ญ๊พธ์ญ ๋๋ฅด๊ณ .. ๋ชฌ์คํฐ ์ธํธ๋ผ์ ํจ๊ป ์ฑ ์์ ์์์ด๋ค..
์ค๋ ํ ๊ฒ
1. ์์์ ํ ์ก๊ธฐ
2. ํ๊ทธ๋จธ์ค 1๋ฌธ์ / ๋ฐฑ์ค 1๋ฌธ์ .
3. ํ์ด์ฌ ๋ณต์ต
4. SQL ๋ณต์ต
๋ด์ผ์ ํ์ด์ฌ์ผ๋ก ๋ด์ผํ๋ ์ฝํ ๊ฐ ์์ด์ ํ์ด์ฌ๊ณผ SQL ๋ณต์ต์ ํ์ต๋๋น !
ํ์ด์ฌ ๋ค ๊น๋จน์ด์ ๊ฑฐ์ ๋ฐํฌ๊ธฐ ์ํ์ง๋ง ์ผ๋จ ํด๋ด์ผ์ ธ ๋ชจ...
์ค๋ ํผ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฆฌ๋ทฐ ํด๋ณด๊ฒ ์๋๋น. ์ด๊ฑด ๋ ์ค์ํํธ
1. '110 ์ฎ๊ธฐ๊ธฐ'
https://school.programmers.co.kr/learn/courses/30/lessons/77886
- 0๊ณผ 1๋ก ์ด๋ฃจ์ด์ง ์์์ ๋ฌธ์์ด s์์ 110์ ์ฎ๊ฒจ์ ์ฌ์ ์์ผ๋ก ๋ ์์ ์์นํ๋๋ก ๋ง๋ค๊ธฐ.
๊ทธ๋ฆฌ๋ํ ๊ท์น๋ง ์ฐพ์ผ๋ฉด ์๊ฐ๋ณด๋ค ๊ฐ๋จํ๊ฒ ํด๊ฒฐํ ์ ์๋ ๋ฌธ์ (์ธ์ค ์์์ต๋๋ค๋ง)
ํธ๋ ๊ณผ์ ์์ 110์ ์ฌ๋ฌ๋ฒ ๋ฐ๊ฟ ์ ์๋ค๋ ๋ถ๋ถ์ ๋์ณ์ ์กฐ๊ธ ๊ผฌ์ฌ์ ๋ค์ ํ์์ต๋๋ค. ใ
ใ
3๊ธ์ ์ง๋ฆฌ ๋ฌธ์์ด 000 , 001, ... 111 ์ค์์ 110 ์ 111 ๋ค์์ผ๋ก ์ฌ์ ์์ผ๋ก ๋ค์ ์๊ธฐ ๋๋ฌธ์
111์ธ ๊ฒ๋ง ๋ฐ๊พธ๋๊ฒ ์๋ฏธ๊ฐ ์๋ค๋ ๊ฒ์ ์์์ฐจ๋ ค์ผํด์ !
์ผ๋จ ํ๋ํ๋ ๊ฒฝ์ฐ์ ์ ๋ฐ์ ธ์คฌ๋๋ฐ ์๊ฐ์ด๊ณผ๋๋ค์ ใ ใ
์๊ฐ๋ณต์ก๋๋ฅผ ๊ณ ๋ ค ์ํ๊ณ ์ฐ์ ์๊ฐ๋๋๋๋ก ์งฐ๋๋ ๋ ธ๋ต์ด๋ค์..
- replacingOccurrences ๋ง๊ณ ์ธ๋ฑ์ค๋ก ํ๋ฒ์ ์ ๊ฑฐํด์ฃผ๊ธฐ.
- 111 ๋ฐ๊ฟ์ฃผ๋ ๊ณผ์ ๊ฐ์ ํ๊ธฐ
๋ฑ๋ฑ ๊ฐ์ ์์ ์ ๋ ํด๋ด์ผ๊ฒ ์ต๋๋น.
์ค๋ ์์ ํ ์ ์์์ค ์๊ณ ์ฌ๋ฆฌ๋ คํ๋๋ฐ ใ ใ ใ ์คํจ.
๋๊ตฐ๊ฐ ๊ตฌ๊ธ์ ์ฌ๋ ค๋ ์ฝ๋๋ ์์ด์ ใ ใ ํํธ๋ง์ผ๋ก ๋ต ์ฐพ์์ผํด์ค..
2. ๊ณต์ ๊ธฐ ์ค์น
https://www.acmicpc.net/problem/2110
- C๊ฐ์ ๊ณต์ ๊ธฐ๋ฅผ N๊ฐ์ ์ง์ ์ค์น, 2๊ฐ์ ๊ณต์ ๊ธฐ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ์ต๋๋ก !
1) house ๋ฐฐ์ด ์ ๋ ฌ ํ ์ต์๊ฑฐ๋ฆฌ๋ฅผ 1, ์ต๋๊ฑฐ๋ฆฌ๋ฅผ ๋ ์ขํ - ์ฒซ๋ฒ์งธ ์ขํ๋ก ์ค์
2) mid = ์ค๊ฐ๊ฑฐ๋ฆฌ ๊ธฐ์ค์ผ๋ก mid ๋งํผ์ ๊ฑฐ๋ฆฌ ์ฐจ์ด๋ก ์ค์นํ๋ค.
3) ์ค์นํ ๊ฒฐ๊ณผ๊ฐ C๊ฐ์ ๊ณต์ ๊ธฐ๋ณด๋ค ์ ๊ฒ ์ค์น๋์์ ๊ฒฝ์ฐ ๊ฑฐ๋ฆฌ๋ฅผ ์ขํ์ผํ๊ณ , C๊ฐ์ ๊ณต์ ๊ธฐ๋ณด๋ค ๋ง์ด ์ค์น๋ ๊ฒฝ์ฐ ๊ฑฐ๋ฆฌ๋ฅผ ๋๋ ค์ผํจ.
4) ๋ฐ๋ณต
let line = readLine()!.split(separator: " ").map { Int(String($0))! }
let n = line[0]
let share = line[1]
var house: [Int] = []
for _ in 0..<n {
house.append(Int(readLine()!)!)
}
house = house.sorted(by: <)
// print(house)
var result = 0
var start = 1
var end = house[n-1] - house[0]
while start <= end {
let mid = (start + end)/2
var count = 1
var value = house[0]
for i in 1..<house.count {
if house[i] >= value + mid {
// ์ขํ ๊ฐ์ด ์ด์ ์ ์ค์น๋ ๊ณต์ ๊ธฐ์ ๊ฑฐ๋ฆฌ ์ฐจ์ด ๋ณด๋ค ์ปค์ผ ์ค์น ๊ฐ๋ฅ !
value = house[i] // ์ค์น ?
count += 1
}
}
if count >= share {
// c๊ฐ์ด์์ ๊ณต์ ์ค์น -> ๊ฑฐ๋ฆฌ ์ฐจ์ด๋ฅผ ๋ ๋๋ ค๋ณด์
start = mid + 1
result = mid
} else {
// c๊ฐ์ด์์ ๊ณต์ ๊ธฐ ์ค์น ๋ถ๊ฐ -> ๊ฑฐ๋ฆฌ์ฐจ์ด ์ขํ๊ธฐ
end = mid - 1
}
}
print(result)
SQL์ด๋ ํ์ด์ฌ ๋ณต์ต๋ ์์ง ๋จ์๋๋ฐ .. ๋ ์กธ๋ฆฌ๋ค์.. ๋ผ ์ผ์ฐ์ด๋ฌ๋์ ํด๋ณด๊ฒ ์ด๋ฏธ๋ค..
ํ์ด์ฌ์ ์๋ธ ์ธ์ด๋ก ๋ฌธ์ ํ ์ ์๋๋ก ์กฐ๊ธ์ฉ ์ฐ์ตํด์ผ๊ฒ์จ์ !!
๊ฐ๋ SQL ๋ ๊ฐ์ด ๋์ค๋ ๊ณณ๋ ์๊ณ .. ์ค์ํํธ๊ฐ ์ง์ ์๋๋ ๊ณณ๋ ์์ด์
๊ทธ๋ฅ ์๋ธ๋ก ํด๋๋ ค๊ณ ํฉ๋ฏธ๋. ์ด์ฐจํผ ์๊ณ ๋ฆฌ์ฆ ๋ก์ง์ ๊ฐ์ผ๋๊น ๋ฌธ๋ฒ๋ง ์กฐ๊ธ ๋ณต์ตํ๋ฉด ๋๊ฒ ์ฃ ...
๋ด์ผ์ ์ฝํ ๋๋๊ตฌ.. ์์์ ๋ฒผ๋ฝ์น๊ธฐ ํด์ผ๊ฒ ๋ค์ฅ.. ํํ.. ๊ตฟ๋ฐค..
'Private > TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
20230403 TIL (2) | 2023.04.04 |
---|---|
20230402 TIL (0) | 2023.04.02 |
20230401 TIL (0) | 2023.04.02 |
20230331 TIL (1) | 2023.04.01 |
20230330 TIL (2) | 2023.03.31 |