본문 바로가기

분류 전체보기

(268)
[백준/Swift] 사탕 게임: 3085 | PS일지 문제 간단한 문제 요약 N*N 크기의 상자에 사탕을 채워 놓는다. 사탕색이 모두 같지 않을 수 있다. 상자 안 사탕의 색이 다른 인접한 두 칸을 골라 서로 교환한다. 모두 같은 색으로 이루어져 있는 가장 긴 연속 부분(행, 열)을 고른 다음 그 사탕을 모두 먹을 때, 그 최대 개수를 구하시오. 문제 풀이, 했갈렸던 점 맨 처음에 문제를 읽으면서 사탕 안 색이 다른 인접한 두 칸을 골라 서로 교환하는데.. "언제까지 이걸 교환하지?"라는 생각에 문제의 의도와는 다른 방향으로 생각을 계속 했었습니다... 말 그대로 정말 심플하게 사탕안에 색이 다르면서 인접한 두 칸을 골라 서로 교환하면 됩니다. 그리고 나서 모든 행. 모든 열을 탐색 후 가장 긴 연속 부분을 찾으면 됩니다. 또 하나 문제를 풀면서, 열 우선..
[백준/Swift] 2217: 로프 | PS일지 | enumerated().map()에 관해.. 문제 간단한 문제 요약 여러 개의 로프가 있다. 로프를 통해 물체를 들어올리는데 각각의 로프마다 중량이 있고, 병렬로 로프들을 연결할 수 있다. 그 대신 w/k 로 해서 로프들의 중량이 일치하도록 해야 병렬적으로 로프를 물체에 묶어 들어올릴 수 있다. 문제 풀이 정말 어려운 그리디.. 어떻게 풀어야 할지 곰곰이 생각해봤습니다. 1 2 4 7 10 의 로프가 있을 때, "어떻게 최대한의 무게를 들 수 있을것인가?..." 이때 든 의문점은 중량 1의 로프와 중량 10의 로프를 같이 사용해서 물체를 올린다면 (10 + 1) / 2 = 5? 최대한으로 5씩 중량을 나눠서 들 수 있는데, 최대 중량 1짜리가 5를 들 수 있을까? 그럴 수 없을 것 같아서 내린 결론은 1로프와 10 로프를 같이 병렬적으로 사용할 땐..
[백준/Swift] 1789: 수들의 합 | PS일지 문제 간단한 문제 요약 서로 다른 N 개의 자연수의 합이 S일 때, 자연수 N의 최대 값은 얼마일까? 문제 풀이 최대한 많이 서로 다른 자연수를 더해주어 S를 만들어야 합니다. 가장 작은 자연수 1부터 더해가는게 최대한 많은 서로다른 N개의 자연수를 사용할 수 있습니다. 이때 이전 자연수들의 덧셈 + 특정 자연수를 더한 값이 S라면, 서로 다른 자연수는 특정 자연수 개수만큼 존재합니다. 예를들어 S = 3이고 자연수의 덧셈이 1부터 시작한다면, 1. 1+2 = 3 답은 2입니다. 만약 특정 자연수의 덧셈이 S를 초과한다면, 초과한 값 - S를 한 자연수만 빼면 됩니다. 그럼으로 특정 자연수 -1이 답입니다. 예를들어 S = 5이고, 자연수의 덧셈은 1부터 시작합니다. 1 + 2 = 3 3 + 3 = 6..
[Github] review pending . pull request에 답변을 달았는데 상대방한테 안보이는 경우 guthub에서 기능 추가 이후, develop 브랜치로 Pull request를 했습니다. 요청사항을 커멘트 받았을 때 저도 답변을 했는데, 상대방한테는 보이지 않았습니다. 제가 단 review옆에는 pending이라는 라벨이 붙어 있었습니다. File changed에서 상대방의 커맨트에 대한 요청사항 등을 수정한 후에 review changes에서 Submit review 를 눌러야 상대방 한테 내가 review한 글이 보입니다!!
[Swift] MVVM에서 Combine을 활용한 ViewModel Input/Output binding 개념 완벽 부수기 +_+ | MVC와 MVVM 차이 진짜 뿌수기!!!! 안녕하세요! 이번 포스트는 MVVM 패턴을 사용할 때 Conbine framework로 ViewModel과 View를 Input/Output binding하는 방법에 대해 소개하려고 합니다. 뷰에서 발생 가능한 Input!, 그리고 View가 화면을 그려야 할 State!를 ViewModel은 Output!함으로 뷰의 render가 진행됩니다. 소프티어 부트캠프 활동을 하며 새로 배운 개념이 많아 기존의 글을 리빌딩 했습니다.그 전에! MVVM과 MVC 아키텍처 패턴의 차이가 무엇인지 명확하게 알아야합니다. 둘의 차이가 무엇인지 아시는 분들만이 MVVM을 잘 활용한다고 할 수 있습니다. 저는 제 나름대로 MVVM과 MVC 아키텍처의 차이점을 정리해봤습니다(관련 포스트 링크). MVC, MVVM 차이를 이..
[iOS architecture] Swift에서 사용되는 MVVM 아키텍쳐 패턴 탐구하기 | MVVM vs MVP | Coordinator 개념 안녕하세요. 이번 포스트는 MVVM 패턴의 역사와 MVVM에서 사용되는 뷰 바인딩 패턴인 Input/Output pattern에 대해 공부했던 개념을 정리해보려고 합니다. 2000s 당시... 옛날에는 디자이너가 사용자의 interface 요소를 통해 뷰를 생성하고, 끌어다 놓으면 개발자가 각각의 뷰에 대해 세세하게 코드로 작성(이벤트 처리, 레이아웃 조절 등)했다고 합니다. 이 결과 view 와 business logic이 매우 타이트하게 연결 됬습니다. 그래서 확장성, 유지보수에 어려웠다고 합니다. 그래서 디자이너가 뷰의 레아이웃 바꾸는 걸 꺼려했다고 합니다. (개발자들이 다량의 코드를 다시 작성해야 하기 때문입니다.) 그래서 마이크로소프트는 view와 business logic을 분리하는 MVVM ..
[iOS architecture] Swift에서 사용되는 MVC 아키텍쳐 탐구하기 | app architecture pattern vs design pattern 이번 포스트를 통해 MVC architecture에 대해, 알고있던 개념들을 정리하려고 합니다. original mvc pattern, cocoa mvc pattern, realistic cocoa mvc pattern 세 가지에 대해서 다룰려고 합니다. 그 전에 App's architecture vs design pattern에 대해서 알고 가면 좋을 것 같습니다. 1. App's architecture pattern vs design pattern App architecture pattern은 iOS 앱 전체의 구조와 구성 요소 간의 관계 설계, 구상합니다. 대표적으로 MVC, MVVM, VIPER, clean architecture등이 있습니다. 아키텍쳐 패턴을 활용한 개발은 유지보수도 쉽고, 의존..
[백준/Swift] 1302: 베스트셀러 | PS일지 문제 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고 www.acmicpc.net 간단한 문제 요약 오늘 하루 동안 팔린 책의 제목이 입력으로 들어왔을 때, 가장 많이 팔린 책의 제목을 출력하는 프로그램을 작성하시오. 고려해야 할 사항 책은 가장(최대) 많이 팔린 책의 이름이 출력되야 하는데, 가장 많이 팔린 책의 개수가 같다면, 사전순(최소)으로 가장 앞서는 제목 출력해야 합니다. 문제 풀이, 새로 배운 개념 팔린 책들 중 이름이 같은 책이 있기에, 배열로 저장하기 보단 딕셔너리로 저장했습니다. 그리고 max함수를 통해, val..