정렬된 배열에서 찾고자하는 값이 있는지 확인하는 검색 방법입니다. 물론 순차로 앞에서 부터 찾아도 되고 반으로 나누어서 찾아봐도 되고 방법은 여러가지 입니다. 이진 검색이라고 한국어로 표현하는데요. 이것을 이용하여 중간의 값을 구하고 이것보다 원하는 값이 중간 값보다 큰지 작은지를 비교해서 구현이 가능합니다. 개인적으로 요즘 find 자체의 구현들이 굉장히 빠른 알고리즘으로 되어 있어서 이것말고 find를 쓰는게 나을겁니다. 실제 현업에서 이런거 만들고 있을 시간도 없고요. 테스트 케이스중에 만약 중복되는 숫자가 들어가 있을 경우에 제일 앞에 숫자만 리턴하는 조건을 더 추가하였는데요. binarySearch function 의 if문에 그 부분이 들어가 있습니다. 한단계 앞에 숫자가 같은 숫자면 한번 더..
Go를 이용한 연속된 부분합 구하기 방법입니다. package main import ( "fmt" "math" ) func main() { nums := []int{100, 2, 3, -110, 1, 4, 5, 6, 1, 7, 8, 9} result := maxSubSum(nums) fmt.Println(result) // 105 } func maxSubSum(nums []int) int { if len(nums) == 0 { return -1 } maxSum := float64(0) result := float64(math.MinInt64) if len(nums) == 1 { return int(result) } for index := -1; index < len(nums) - 1; index++ { ..
팝업창을 현재 보이는 브라우저의 정중앙에 노출하는 예제입니다. This is WebPage!!! 부분적으로 설명을 하자면 width가 500이고 height가 600인 팝업을 노출할 것이고요. 이것을 현재 window의 내부 height에서 팝업의 600을 빼고 screen의 Y를 더해줍니다. 왜냐면 현재 브라우저의 screenY값을 더해주어야지 창의 중앙에 오기 때문입니다. 같은 원리로 window의 내부 width에서 팝업의 500을 빼고 screen의 X를 더해줍니다. spec 부분은 여러가지 설정을 표현하는 부분입니다. 참 쉽죠? ㅎㅎ
package main import ( "fmt" "log" "math" ) func stringValues() []string { return []string {"일", "이", "삼", "사", "오", "육", "칠", "팔", "구"} } func unitValue(inner bool) ([]string, float64) { if inner { return []string{"십", "백", "천"}, 10 } else { return []string{"만", "억", "조"}, 10000 } } func main() { data := [][]string{ {"오백삼십조칠천팔백구십만천오백삼십구", "삼조사천이만삼천구"}, } for _, element := range data { result := ..
package main import ( "fmt" "log" "math" "os" "strconv" "strings" ) const numberSplit = float64(9) func main() { var argsCount = len(os.Args) if argsCount != 3 { log.Fatal("please insert args count is 2") } arg1 := os.Args[1] arg2 := os.Args[2] result := solution(arg1, arg2) fmt.Println(result) // Test //TestBasic() } func TestBasic() { result := solution("1123456789", "123456789") if result != ..
- Total
- Today
- Yesterday
- go
- MySQL
- golang
- SWIFT
- Xcode
- Windows
- Gradle
- Python
- android
- enum
- ubuntu
- Linux
- Kotlin
- Java
- rxswift
- github
- Codable
- docker
- git
- php
- ios
- Spring
- windows10
- nodejs
- tomcat
- cocoapods
- war
- intellij
- CentOS
- centos8
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |