swift
[iOS]UTC Time To Date (feat. TimeZone)
안녕하세요 오늘은 사이드 프로젝트를 하면서 저를 아주 고생시켯던 녀석을 정리해 보려고 합니다. 현재 제가 진행하고있는 사이드 프로젝트는 애플 날씨 기본어플인데요, API로 들어오는 데이터가 날씨쪽의 경우 시간과 관련된 정보는 timezone, timezone_offset, dt 이렇게 3가지가 들어오게 됩니다 날씨어플 API 요청시 Data 정보 (JSON) 요청시 가져오는 데이터의 일부분입니다. "lat": 37.5665, "lon": 126.978, "timezone": "Asia/Seoul", "timezone_offset": 32400, "current": { "dt": 1610112601, "sunrise": 1610059627, "sunset": 1610094589, 아래는 데이터의 설명입니다..
[TIL] iOS. MVVM without Rxswift
https://riptutorial.com/ko/ios/example/27354/%EB%A6%AC-%EC%95%A1%ED%8B%B0%EB%B8%8C-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%EC%9D%B4%EC%97%86%EB%8A%94-mvvm iOS - 리 액티브 프로그래밍이없는 MVVM | ios Tutorial ios documentation: 리 액티브 프로그래밍이없는 MVVM riptutorial.com MVVM 공부하고 아무리 쳐다봐도 이해하기 힘든 부분이 생겨요... 왜죠? MVVM이란 개념을 듣고 구현하려하고 이해하려고 노력한지 약 한달정도가 되었는데요 이리저리 블로그를 찾아보고 했었는데 갈수록 개념을 정리하는데 어려움이 생겼던것 같습니다. 제가 ..
Swift. 다트 게임
문제. 카카오톡 게임별의 하반기 신규 서비스로 다트 게임을 출시하기로 했다. 다트 게임은 다트판에 다트를 세 차례 던져 그 점수의 합계로 실력을 겨루는 게임으로, 모두가 간단히 즐길 수 있다. 갓 입사한 무지는 코딩 실력을 인정받아 게임의 핵심 부분인 점수 계산 로직을 맡게 되었다. 다트 게임의 점수 계산 로직은 아래와 같다. 다트 게임은 총 3번의 기회로 구성된다. 각 기회마다 얻을 수 있는 점수는 0점에서 10점까지이다. 점수와 함께 Single(S), Double(D), Triple(T) 영역이 존재하고 각 영역 당첨 시 점수에서 1제곱, 2제곱, 3제곱 (점수1 , 점수2 , 점수3 )으로 계산된다. 옵션으로 스타상(*) , 아차상(#)이 존재하며 스타상(*) 당첨 시 해당 점수와 바로 전에 얻은..
모래성 위에 iOS앱을 쌓아봤자... (feat. 다시 기본으로)
이번에 짧게 미니 프로젝트를 두개 하면서 느꼇던게 내가 무언가를 만들수 있다 라는 자신감도 얻었지만 이렇게 뭔가 구조적인 느낌없이 막 구성해 나가면 결국에 나는 막만드는 사람 뿐이 될수 없구나 라는 것을 느꼇습니다. 단지 내가 급해서 무언가 결과물을 얻기보다는 천천히 제대로 해보기로 했습니다. 제가 계산기와 로그인 페이지를 만들때 막만들고자 막만들지는 않았습니다. 나름대로 구조적으로 MVVM을 따라가고 싶어서 열심히 검색도 해보고 구조를 고민하는데 반나절을 보내기도 하고 코드를 짜는데 2틀 3일이 걸렸습니다. 그렇게 해서 완성해낸 결과물을 보는데 제가 드디어 만들었다 라는 뿌듯함도 있었지만 무언가 제대로 구성했고 성공했다 라는 느낌은 부족했습니다. 그래서 이것저것 블로그를 찾아보고 유튜브도 찾아보며 지식..
Swift. 실패율
문제. 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스테이지 차이가 너무 큰 것이 문제였다. 이 문제를 어떻게 할까 고민 한 그녀는 동적으로 게임 시간을 늘려서 난이도를 조절하기로 했다. 역시 슈퍼 개발자라 대부분의 로직은 쉽게 구현했지만, 실패율을 구하는 부분에서 위기에 빠지고 말았다. 오렐리를 위해 실패율을 구하는 코드를 완성하라. 실패율은 다음과 같이 정의한다. 스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수 전체 스테이지의 개수 N, 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열 stages가 매개변수로..
Swift. 비밀지도
문제. 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다. 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 공백(" ) 또는벽(#") 두 종류로 이루어져 있다. 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 지도 1과 지도 2라고 하자. 지도 1 또는 지도 2 중 어느 하나라도 벽인 부분은 전체 지도에서도 벽이다. 지도 1과 지도 2에서 모두 공백인 부분은 전체 지도에서도 공백이다. 지도 1과 지도 2는 각각 정수 배열로 암호화되어 있다. 암호화된 배열은 지도의 각 가로줄에서 벽 부분을 1, 공백 ..