다이나모 (7) 썸네일형 리스트형 Dynamo로 풀어보자-백준 25304번(영수증) 두 가지 소스에서 오는 데이터의 정합성을 판단할 때 프로그램을 만들 때, 하나의 소스를 이리저리 조작해가며 알고리즘을 만들기도 하지만, 두가지 소스에서 파생된 결과를 비교해서 일치 여부를 파악하는 작업이 필요할 때도 있습니다. 이번 백준 문제가 그런 상황에 잘 맞는 예제가 되는 것 같습니다. 사실 풀이 자체는 전혀 복잡하지 않습니다. 문제 및 입력 조건 25304번: 영수증 25304번: 영수증 준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것 www.acmicpc.net 다이나모 풀이 풀이 완료된 노드 그래프는 아래와 같습니다. 입력부 코드 블럭에 입력된 첫째 값이 영.. Dynamo로 풀어보자-백준 3003번(킹, 퀸, 룩, 비숍, 나이트, 폰) 다이나모로도 알고리즘 문제들을? 다이나모를 사용해서 알고리즘 문제를 풀 수 있다는 사실을 보이고 싶었습니다. 비주얼 프로그래밍 툴이기는 하지만, 꽤 복잡한 수준의 논리 구성을 구현할 수 있는데도, 아직도 사용자는 그리 많지 않은 것 같습니다. (레빗을 사용하는 인원 풀 중에서도 일부만 사용하고 있으니 사용자가 적은 것은 사실 당연합니다. 하지만 다이나모 샌드박스를 고려하면, 레빗을 사용하지 않는 사람이라도 다이나모를 엑셀 등과 연계하여 얼마든지 유용하게 사용할 수 있습니다. 비주얼 프로그래밍 툴이라는 특성상, 초기 프로그램 스케치에 탁월한 능력을 보여줍니다.) 앞으로는 쉬운 난이도부터 차근차근 어려운 난이도 까지 백준 온라인 저지 사이트의 문제들을 다이나모로 풀어보는 게시물 시리즈를 종종 올려볼까 합니다.. 다이나모에서 ReplaceByCondition 활용 방법 리스트의 원소를 치환하고 싶어졌다 다이나모 노드 중에서 리스트 중 특정 원소를 치환하는 노드가 있습니다. 하나는 ReplaceItemAtIndex노드이고 다른 하나는 ReplaceByCondition노드입니다. 보통 이해하기 쉬운 노드는 ReplaceItemAtIndex 노드입니다. 먼저 ReplaceItemAtIndex 노드를 써서 치환해보자 이유는, 사용법이 좀 더 직관적이기도 하고, index만 건드리면 되기 때문에, 하드 코딩의 형식으로 원하는 인덱스만 직접 지정해서 치환하는 등의 활용도 가능하기 때문입니다. 그런데 한 번에 하나의 인덱스만 치환해주는 단점이 있어서, 한 리스트의 여러 개의 원소를 동시에 치환하고 싶으면 좀 노드 처리를 지저분하게 해야 합니다. 또 어떤 조건을 만족하는 원소들의 인.. dynamo 응용! 코로나 바이러스 만들고 blender 로 표면 다듬기 지난 2년 동안 참 오랫동안 코로나 바이러스가 사람들을 고생시켰죠. 어떻게 생겨 먹은 놈인가 해서 이미지를 찾아봤습니다. 둥근 공 같이 생겼는데, 뾰족 뾰족 뭐가 표면에 많이 돋아나 있네요. 저 뾰족한 부분이 스파이크 단백질이라는 부위이고, 우리 몸의 세포들에 있는 수용체에 결합하는 역할을 한다고 합니다. 다이나모로 COVID19 모델링하기 저는 다이나모를 좋아합니다. 형상적, 비형상적을 막론하고, 데이터를 처리하는 코드를 빠르게 짜고 피드백할 수 있기 때문입니다. 그래서 다이나모를 이용해서 코로나 바이러스의 모습을 모델링해보면 어떨까 하는 생각을 했습니다. 저도 모르게 해버렸어요. 머릿속으로 일단 동그랗게 생긴 몸통부터 만들어야겠다는 생각을 한 뒤 다이나모를 켰습니다. 몸만들기 바이러스 몸체에서 가장 .. 다이나모에서 파이썬 코딩을 통해 명령 내리기 (이제부터 노드를 배치하는 공간을 캔버스라고 부르겠습니다.) 다이나모에서 기본 노드들을 배치하면서 프로그램을 짜다보면, 노드들이 들어차서 캔버스가 너무 빽빽해지게 됩니다. 마우스 스크롤로 확대했다 축소했다를 반복하다보면 전체 프로그램의 각 부분을 보는 것이 너무 피곤해집니다. 그렇기 때문에 기본노드들로 작성된 flow 중에서 자주 반복되는 패턴이 있다면, 이를 추상화 해서 파이썬 노드로 만들어 버리는 것이 편한데요. 오늘은 다이나모에서 파이썬 노드를 만드는 것까지만 해보겠습니다. 새 다이나모 파일을 하나 열어봅니다. 좌측 라이브러리 검색칸에 python이라고 적으면 2가지 노드가 나오는 데, 이중 첫번째를 선택합니다. 생성하고 나면 ‘IronPython2’ 라고 노드 우측하단에 적혀있습니다. IronPy.. Dynamo로 Revit 객체의 형상을 포함한 각종 정보들을 가져오기 Revit에서 작성된 BIM 객체들의 정보를 조회하고 조작하는 것은 Revit 안에서도 가능합니다. 하지만 작성된 정보들을 데이터베이스의 형태로 조작하고 변형하거나, 기존 데이터를 활용하여 새로운 데이터를 만들어내는 것은 아무래도 제한적일 수 밖에 없습니다. 이러한 상황에서 Dynamo는 다수의 Revit 객체가 포함한 다양한 데이터들을 효과적으로 컨트롤하는 수단이 되어줍니다. 프로그래밍이 모든 사용자의 니즈에 맞춰 기민하게 대응하기 어려운 만큼, 저는 Dynamo를 통해 커스터마이제이션에 대한 요구를 어느정도 해소해 주는 느낌으로 사용하고 있습니다. 그래서 그 가장 첫번재 단계로써, 작성된 부재들의 정보를 다이나모 안으로 당겨(?)오는 노드들의 기본 활용을 소개해 드리려고 합니다. 모델링 파일 실행 일.. Dynamo Sandbox 최신버전 다운받기 레빗과 연결되어 동작하는 다이나모도 강력하지만, 다이나모 샌드박스는 잘 사용하면 레빗없이도 형상과 관련된 각종 알고리즘을 테스트하고 만들어내는 훌륭한 도구가 될 수 있습니다. 또한 내포한 CPython을 통해서 파이썬과 결합된 다이나모 플로우를 만드는데도 아주 훌륭한 역할을 합니다.(Revit 없이도) 개인적으로는, 비주얼 프로그래밍이 갖는 특유의 직관성을 유지한 채로, Revit을 사용하지 않는 사람들에게도 충분한 활용성을 갖도록 오픈된 버전이 다이나모 샌드박스라고 생각합니다. 이러한 다이나모 샌드박스 최신버전을 다운 받기 위해서는 하기의 깃허브 링크로 가시면 됩니다. https://github.com/DynamoDS/Dynamo GitHub - DynamoDS/Dynamo: Open Source Gr.. 이전 1 다음