- Total
목록분류 전체보기 (209)
꿈꾸는리버리
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bjj9p6/btrAAdrvVG4/gBlZEbMK7g15ytVtWI1V7k/img.jpg)
Property란 class, struct, enum 에서 쓰이는 변수나 상수를 부르는 말이다. + ) 이 칭구들(class, struct, enum)에서 쓰이는 변수나 상수는 Property라고, 함수는 method라고 부른다. (특별 대우..,,) Property에는 Stored Property, Computed Property, Type Property가 있다. instance property stored instance property (var/let) + lazy stored property (var) computed instance property (var) type property stored type property (var/let) -> lazy computed type property ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/PVBkn/btrAwDbjibs/UkzSPG9qqezx68pHSHQtr1/img.png)
문제: https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 풀이방법: 💡 배열(스택)과 재귀을 이용해서 DFS 구현 DFS? 재귀? 배열(스택)? 우선 차근차근 알아가보자. DFS 링크의 예제 3을 예시로 다뤄보려 한다. 빨강) 1로 첫번째 자리가 고정되었을 때 두번째 자리의 값이 2, 3, 4 이렇게 숫자가 바뀌는 것을 알 수 있다. 두번째 자리가 2로 시작하는 모든 경우의 수를 찾은 후에 두번째 자리의 값은 3으로 바뀐다. 파랑) 이 과정은..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bnDsQ5/btrzVBSfOFv/A9GJfzmTRv3rscS4Cb7pV0/img.jpg)
문제: https://www.acmicpc.net/problem/6064 6064번: 카잉 달력 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성된다. www.acmicpc.net 풀이방법: M N x y 10 12 3 9 문제를 식으로 정리하면 M, x : ( k-x ) % M = 0 N, y : ( k-y ) % N= 0 를 만족하는 k의 값을 구하는 문제이다. ( k-x ) % M = 0을 만족하는 첫번째 식인 k = x일 때부터 k = x + M , k = x + 2M, ...이렇게 k에 M을 증가시키며 계산을 한다. 그리고 만약 이 k가 ( k-y ) % N =..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/o5neN/btrzwQo3RzL/axhyAb5UvNSU9QWTVwY1e0/img.png)
기나길었던 MC1 과정이 거의 끝났다. 회고에 앞서 내가 관심있었던 분야에 대해서 이렇게나 공부하고, 탐험하고 나아갔다는게 잘했다고 나자신에게 말해주고 싶다. 그리고 SwiftUI 개발이 처음이었는데에도 불구하고, 열심히 그리고 잘 해보려고 애썼던 칭찬을 해주고 싶다. 오늘의 포스팅에서는 이번 프로젝트를 하면서 들었던 생각들에 대해 정리를 해보았다. 한 아이디어와 프로젝트를 멀리서도 그리고 가까이서도 볼 수 있어야 한다! 우리의 아이디어였던 “스트레스와 힐링”의 관계와 그 내용들을 멀리서 보았을 때는 이 챌린지 목표의 당위성이나 목적성을 찾을 수 있었지만, 사용자의 가까이에서는 이 내용들을 어떻게 풀어야 할지를 모르겠었다. 하지만 여러 사람의 시각에서 계속 해석하고 분석하고 리서치를 하는 과정을 통해서 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/JgCCD/btrzvzaoAAo/9KWnyMP7ep5LS4iRhefUaK/img.png)
문제: https://www.acmicpc.net/problem/3085 3085번: 사탕 게임 예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다. www.acmicpc.net 문제의 이해 기존의 행렬에서 CKP KCP KPC 1행의 [0]과 [1]을 swap 했을 때 KCP KCP KPC -> 원래 코드에서는 사탕의 최대 개수는 2인데, 1행의 [0]과 [1]을 swap을 한다면 사탕의 최대 개수는 3이 된다. 풀이방법: 1) 원래 코드의 사탕의 최대 개수 구하기 2) 행 swap 후 사탕의 최대 개수 구하기 3) 열 swap 후 사탕의 최대 개수 구하기 참고 Point 1) "CCP"처럼 붙어있는 문자열 떼어내서 Char 저장하기 array2.append(r..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/CDahF/btrzifXcwfl/FqqvcxX6gzqdpqCoTv4YD0/img.png)
[백준 알고리즘] 1107 리모컨 문제: https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 풀이방법: 1) 현재 번호 100에서 ( +,- 클릭 횟수 ) 2) 가고 싶은 채널 근처에서 가려는 채널로 가기 ( 채널 번호 클릭 횟수 & +,- 클릭 횟수 ) Tips 2)을 구할 때 0 ~ 500000가 아니라 0 ~ 1000000까지 고려해야 함 수빈이가 원하는 최대 채널은 500000이지만, 티비 채널은 무한대로 존재 예를 들어 수..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/FyqUT/btrDeC2bgnZ/PfPlIzMugANsNwXgeTItVK/img.png)
Settings 몇 app은 유저에게 setup이나 설정을 요구하는데 사실 웬만한 app들은 이걸 피하거나 연기할 수 있다. 잘 만든 app들은 대부분의 사람들이 바로 사용할 수 있게 먼저 디폴트 세팅을 만들어놓고, 추가적으로 기능 조정을 원할시 편리하게 바꿀 수 있도록 제공한다. ( 이때, 디폴트 세팅은 사용자의 needs를 파악해서 다수의 사용자가 편리한 값으로 ! ) 궁극적으로, 우리의 app을 대부분의 사람이 바로 사용할 수 있게 만드려면, 유저가 뭔가 설정해야 한다는 요구를 줄여야 한다. setting 설계법 1️⃣ 시스템에서 정보 추적하기 user, device, or environment에 대한 정보가 필요하다면 가능한 유저에게 묻지 말고 setting에서 가져오라. ex) 우편번호를 사용자..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/vbWs7/btryV2XqrJY/BMePnRFvSUbsOml2evCF7K/img.png)
User Data and Resources 접근의 중요성 유저의 프라이버시는 가장 중요한 문제이다. 사람들이 당신의 app을 믿을 수 있게 하기 위해서 프라이버시 관련 data와 resource를 요구할 때 왜 쓰는지 분명하고 투명하게 알려줘야 한다. 애플은 사용자의 개인정보를 아주 중요하게 여긴다. 그래서 애플 "앱"에서도 개인정보에 접근을 하거나 사용을 해야 할 때 사용자에게 허락을 받고 사용해야 한다. 그리고 허락을 받기 위해서 해당 정보를 어떻게, 어디에, 무엇을 위해 사용하는지 보여주어야 한다. (이를 지키지 않을 시 해당 앱이 리젝될 수 있다.) ex) 유저에게 access를 위한 permission 요청 예시 개인 정보 : 지역, 건강, 금융, 연락처, 기타 개인적인 식별 정보 등 User-..