본문 바로가기

전체

(363)
[PS/Clojure] HackerRand - Algorithms - Forming a Magic Square Implementation 항목의 Magic Square, BruteForce 로 풀었다. 처음에는 time out나서 BruteForce 가 아닌가 했는데.. filter 를 안걸어주었었다. 모든 순열을 구하는데 사용한 permutations 코드는 그냥 인터넷에서 긁어왔다 ;; C++ 은 next_permutation이 STL 에 있는데 clojure에 있는 clojure.math.combinatorics 가 HackerRank에서 지원을 안해준다 크흠.. Forming a Magic Square | HackerRank Find the minimum cost of converting a 3 by 3 matrix into a magic square. www.hackerrank.com Lee-WonJun..
[PS/Clojure] HackerRand - Algorithms - Construct the Array DP 를 사용하는 Sherlock and CostConstruct the Array 오랜만에 아무 힌트없이 풀었다 크흠... Construct the Array | HackerRank Find the number of ways to construct the array such that consecutive positions contain different values. www.hackerrank.com Lee-WonJun/ProblemSolving 알고리즘 세미나 . Contribute to Lee-WonJun/ProblemSolving development by creating an account on GitHub. github.com (defn exp [x n] (reduce * (repeat n x..
[PS/Clojure] HackerRand - Algorithms - Sherlock and Cost DP 를 사용하는 Sherlock and Cost 난 못풀었다ㅜ 코드는 설명을 듣고 Clojure로 구현한 코드. Sherlock and Cost | HackerRank Given array A, B and relation between them find the cost of array A. www.hackerrank.com Lee-WonJun/ProblemSolving 알고리즘 세미나 . Contribute to Lee-WonJun/ProblemSolving development by creating an account on GitHub. github.com (defn abs [x] (max (- x) x)) (defn fun ([v] (fun v 0 0)) ( [v dp1 dp2] (if (= (co..
[PS/Clojure] HackerRand - Algorithms - Equal 클로저를 아주 잘 지원해주는 몇안되는 알고리즘 사이트 HackerRank 지인과 함께 알고리즘 공부중이다. 각자 C++/Python/Clojure 로 문제 풀이중. 첫문제는 DP 를 사용하는 Equal 알고리즘은 약하기 때문에... 친구의 힌트를 듣고 풀었다. Equal | HackerRank Calculate minimum number of such operations needed to ensure that every colleague has the same number of chocolates. www.hackerrank.com 내풀이는 다음과 같다. Lee-WonJun/ProblemSolving 알고리즘 세미나 . Contribute to Lee-WonJun/ProblemSolving develop..
[F#] C# to F#, troubleshooting 마이너의 숙명... 자료가없다! 라이브러리도 없다! (있지만 찾기가 어렵다!) 여튼 F# 은 같은 닷넷으로 C# 라이브러리를 사용할수있는데 다른 패러다임을 가진 언어의 라이브러리를 가져다쓸때 여러가지 트러블슈팅이 발생한다.. 1. 형변환 F# 에서는 :> (= upcast) 와 :?> (= downcast) 로 형변환을 한다. C# 함수를 사용할떄에는 파라미터의 형을 변환해주어서 넘겨주는것이 좋다. data.Append(anchor);// C# data.Append(anchor:>element) // F# 무조건 형을 지정해줘야하는것은 아닌데.. C# 에서 오버로딩된경우 몇몇동작에서 정상적으로 안돌아가더라.., 아마 위에서 추론된 타입형식과 달라서 생기는 문제같다. 처음부터 명시적으로 지정하면 상관없을것..
[C#/WPF] ObservableCollection, List 간의 변환 WPF 에서 ListBox, ListView등에 List 을 ItemSource 로 사용하거나 바인딩 하여 사용하는 경우가 많다. 그러나 일반적인 List 의 경우 변경된 List의 내용을 UI 에서 실시간으로 반영하지 않는다. 코드비하인드인경우는 이벤트콜백, MVVM 과 같은경우는 ICommand 등으로 실행되는것이 아니면 바로 반영되지 않고 Invoke 나 BackgroundWalker를 사용하거나 뭐 그래야하는데.. Obserable Colletion의 경우 옵저버 패턴이 적용되어 바뀌면 알아서 UI 에 반영된다. ObservableCollection 클래스 ObservableCollection 클래스 (System.Collections.ObjectModel) 항목이 추가 또는 제거되거나 전체 목록..
개발 커뮤니티 Dev.to dev.to/ DEV Community Where programmers share ideas and help each other grow—A constructive and inclusive social network. dev.to 포스팅 작성하고.. 토론하고.. 소셜처럼 Feed 확인할수있는 사이트 미디움 같은거랑 비슷하기도 한데 심심할때 Feed 올라오는것들을 보면서 시간때우기 좋다. 아직 한글 게시글이나 지원이 부족한게 흠
[C#] 공변성(Covariance)과 반 공변성(Contravariance ) 객체지향의 원칙중 하나인 LSP (리스코프 치환 원칙) 의 위키백과에는 아래와 같은 내용이 존재한다. 리스코프의 원칙은 새로운 객체 지향 프로그래밍 언어에 채용된 시그니처에 관한 몇 가지 표준적인 요구사항을 강제한다. 하위형에서 메서드 인수의 반공변성 하위형에서 반환형의 공변성 하위형에서 메서드는 상위형 메서드에서 던져진 예외의 하위형을 제외하고 새로운 예외를 던지면 안된다. 핵심단어는 공변성과 반공변성이다. 공변성(Covariance) Animal 클래스를 상속받은 Dog 클래스가 있다. Animal 과 Dog은 상속관계이므로 Animal animal = new Dog(); 이 가능하다. 그럼 IEnumerable animals = new List(); 은 가능할까? 정답은 가능하다. 그리고 자연스럽게..