본문 바로가기
728x90
반응형

전체글

8. 유럽 5대 리그의 일등 , 꼴등팀에게 전 라운드 베팅 - [1] 8. 유럽 5대 리그의 일등 , 꼴등팀에게 전 라운드 베팅 재미로 보는 축구 데이터 , 여덟 번째는 유럽 5대리그의 일등 , 꼴등팀에게 전 라운드 베팅입니다. 21/22 시즌이 끝나감에 따라 아직도 결과가 나지 않은 리그가 있고 , 진작에 리그 우승팀이 정해진 리그도 있습니다. 이러한 리그 결과 테이블을 보며 , 리그 1등 팀을 믿고 전라운드 베팅했다면 결과가 어떻게 나올까?라는 생각이 들었습니다. 하지만 우리는 이번시즌 어떤 팀이 우승할지 모릅니다. 따라서 이전시즌에 우승한 팀이 우승할 가능성 , 최소한 고 순위를 차지할 가능성이 높다고 판단 , 전 시즌 우승팀이 전 라운드 승리한다에 베팅해보도록 하겠습니다. 글의 분량을 늘리고 , 결과를 다양하게 보기 위해 우승팀 뿐만 아니라 꼴등팀에 대해서도 살펴보.. 더보기
알고리즘 - Python / 백준 - 1406번 : 에디터 1406번: 에디터 (acmicpc.net) 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 풀이 리눅스 vi 에디터 같은 형태의 에디터를 직접 구현하는 문제다. 문제만 읽었을 때는 어려운 부분이 없어 보이지만 , 시간제한을 0.3초 밖에 주지 않는 문제다. 문자열의 원하는 위치에 삽입 혹은 삭제가 가장 시간을 많이 잡아먹는 작업일 테고 이를 효과적으로 줄이는 것이 중요할 것이다. 커서의 위치와 문자열 시작 위치를 저장해놓고 , 커서를 좌우로 옮길 때 , deque를 rotate 해주는 방식으로 구현하였다. 만.. 더보기
알고리즘 - Python / 백준 - 2468번 : 안전 영역 2468번: 안전 영역 (acmicpc.net) 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net 풀이 n * n 격자에 지역의 높이가 입력되고 , 해당 지역에 비가 내렸을 때 높이가 비의 양보다 낮다면 물에 잠긴다. 이때 , 만들어질 수 있는 최대 안전지역의 개수를 찾는 문제다. 단순하게 그래프 탐색 문제로 풀 수 있다. dfs를 이용해서 구현하였고 , 가장 높은 지역보다 비가 더 많이 내린다면 측정할 필요도 없이 모두 물에 잠기기에 최대 높이를 구해주고 0 ~ max 값까지 for문을 통해 해당 비의 양에 따라 d.. 더보기
[ 구글 코드잼 예선 ] Google Code Jam 2022 Qualification Round 리뷰 구글 코드잼 예선 Google Code Jam 2022 Qualification Round 리뷰 요즘 바쁘긴 하지만 코드잼은 빼먹을 수 없었다. 과거 작년 , 재작년 코드잼을 신청해놓고 그냥 놀아버려 도전도 하지 못했던 과거를 생각해 이번에는 신청한 김에 꼭 참여해보기로 했다. Atcoder도 가끔 하고 , 백준도 요즘 건드리지 않고 있는데 머리에 알고리즘 불씨를 살려주기에 정기적인 공부만 한 게 없다. 가벼운 마음으로 공부한다 생각하고 도전해보았다. 구글 코드잼은 예선 통과만 하려면 30점 이상만 하면 되는 걸로 기억한다. 아마 앞의 3문제 A, B, C 문제만 맞혀도 자동 예선 통과로 알고 있다. 다음 라운드의 경우는 시험기간이라 도전하지 않을 생각이다. 어차피 그 이상의 의미있는 대단한 성적을 내는.. 더보기
[Music21] 4. Music21 가이드 ( Chords ) Music21 라이브러리 가이드 4 from music21 import * #Music21 User Guide 7 레퍼런스 정리 cMinor = chord.Chord(["C4","G4","E-5"]) #다음과 같이 코드를 만들 수 있다. #코드는 여러 피치 오브젝트를 하나로 결합하여 만드는 객체이다. #가장 간단한 방법은 다음과 같이 코드 객체 안에 여러 피치 이름으로 이루어진 리스트를 전달하는 것이다. #코드와 노트는 모두 GeneralNote 의 서브클래스 이므로 다음과 같이 공유하는 부분이 존재한다. cMinor.duration.type = 'half' print(cMinor.quarterLength) #하지만 cMinor.pitch 는 불가능 하다. #cMinor.pitches 는 가능하다. pr.. 더보기
[Music21] MuseScore 3 에러 해결 및 경로 처리 Music21을 show()를 통해 MuseScore 3로 열려고 하는데 오류가 난다. 경로상에서 파일을 찾을 수 없다고 하는 것 보니 , MuseScore 3 프로그램 위치를 이상한 곳으로 알고 있나 보다. xml 파일을 MuseScore 3로 사용하기로 기본 설정을 했는데도 에러가 난다면 코드 위에 다음과 같은 코드를 추가해보자. # --- musescore 3을 이용하기 위한 path 설정 us = environment.UserSettings() us['musicxmlPath'] = '내가 설치한 MuseScore 3.exe path ( 대부분 programfiles -> MuseScore3 -> bin 안에 있음 )' us['musescoreDirectPNGPath'] = '내가 설치한 MuseS.. 더보기
[Music21] 3. Music21 가이드 ( Stream : Hierarchies, Recursion, Flattening ) Music21 라이브러리 가이드 3 from music21 import * #Music21 User Guide 5,6 레퍼런스 정리 # 2차원 , 3차원 리스트 #User Guide 5는 2차원 , 3차원 리스트에 대해 설명한다. #아마 스트림과 리스트를 비교하려는 듯 하다. note1 = note.Note("C4") note1.duration.type = 'half' note2 = note.Note("F#4") note3 = note.Note("B-2") stream1 = stream.Stream() stream1.id = 'some notes' stream1.append(note1) stream1.append(note2) stream1.append(note3) biggerStream = stream... 더보기
[Music21] 2. Music21 가이드 ( Stream ) Music21 라이브러리 가이드 2 import music21 #Music21 User Guide 4 레퍼런스 정리 # 다수의 오브젝트를 리스트로 처리 note1 = music21.note.Note("C4") note2 = music21.note.Note("F#4") note1.duration.type = 'half' print(note1.duration.quarterLength) #음표의 옥타브 없이 음 자체만을 알려면 step 속성을 확인한다. print(note1.step) print(note2.step) #악보는 음의 시퀀스로 구성될텐데 , 리스트를 활용해서 표현하고 음을 다룰 수도 있다. noteList = [note1, note2] print(noteList) #객체로 표현되는 것이 보기 그렇.. 더보기
반응형