본문 바로가기

Lang

(36)
[Python] 야구 게임 - 숫자 맞추기 어렸을 때 친구들이랑 야구 게임이란걸 종종 했었다. 공수를 번갈아가며 각자 상대가 생각한 숫자를 맞추는 게임인데 수비하는 자는 공격자가 추정한 수에서 자리까지 일치하면 스트라익, 자리는 틀리지만 자기가 생각한 수에 포함된 숫자면 볼로 구분하여 전체 볼 카운트를 알려주면 그것을 힌트로 정확한 숫자를 추리해야 한다. 아이가 풀고 있는 문제지에 이 야구 게임을 응용한 문제가 있어서 코딩으로 한 번 도전해봤다. 숫자는 5자리이고 각 자리의 수들은 모든 다른 수라고 할 때 다음 힌트를 가지고 정답을 찾아내야 한다. S B 45289 1 1 12643 2 2 70149 1 1 85201 1 1 20458 0 3 58236 1 2 성능 무시하고 일단 무식하게 짜봤다. 테이블에 있는 각 힌트값으로 후보 목록을 구한다...
[Python]방정식 문제를 코딩으로 풀어보기 아이랑 같이 수학 문제 풀어보다가 프로그램으로 한 번 짜보면 어떨까 생각하고 도전. 문제는 대충 이렇다. 33개의 공이 일렬로 놓여있다. 모든 공의 값의 합은 6,500원. 왼쪽 첫 공부터 가운데 공까지의 각각의 공값은 10원 씩 비싸진다. 오른쪽 첫 공부터 가운데 공까지의 각각의 공값은 15원 씩 비싸진다. 가운데 공의 값을 구하시오. 공식 만드는거는 그리 어려울 것 없다. 중앙의 위치값은 17이므로 좌측 첫 공의 값을 x, 우측 첫 공의 값을 y 라 할 때, x + 10 * 16 = y + 15 * 16 6500 = 왼쪽부터 16번째까지의 합 + 오른쪽부터 16번째까지의 합 + 중앙값(= x + 10 * 16) 호기롭게 컴 앞에 앉았는데 방정식을 코딩하려니 시작부터 벽. 다행히 sympy 란 걸 이용..
[Go Lang]1분 후 정각에 로직 수행 Kafka 성능 테스트를 위해 여러 장비에서 같은 시각에 메시지 produce 할 일이 생겼다. 각 장비에서 최대한 같은 시각에 메시지 전송 시작하게 프로그램 실행 시점 1분 후 정각에 전송 시작하도록 go의 timer 를 이용해 구현해 본 부분. hostName, _ := os.Hostname() t := time.Now() fmt.Println("Curr :", t) rounded := time.Date(t.Year(), t.Month(), t.Day(), t.Hour(), t.Minute(), 0, 0, t.Location()) fmt.Println("Round :", rounded) after1m := rounded.Local().Add(time.Minute * time.Duration(1)) f..
[js]배열에서 중복된 값 처리하는 몇 가지 예. js 배열 안에 중복된 값이 있나 체크하는 깔끔한 방법. function hasDuplicates(array) { return (new Set(array)).size !== array.length; } 배열 안에 중복된 값들이 있을 때 (1)unique 한 값만 추출 (2) 값들이 몇 번 씩 들어 있는지 카운트 (3)값들의 index 를 구하는 방법을 온라인에 있는 filter, reduce 함수 예를 이용해서 구현해본 거. var fruits = ["banana", "orange", "grape", "orange", "grape", "grape", "apple"]; var onlyUnique = function (value, index, self) { return self.indexOf(value) =..