목록Swift (19)
이 세계에선 내가 개발자?

바야흐로 Xcode15가 정식으로 출시된 후, 아직은 Xcode15 쓰기.. 조금.. 힘들겠지..? 싶어서 14로 만족하고 있던 어느 날.. 바보처럼 나는.. 소노마로 업데이트를 해버리고 말았다.. 단지 이유는.. 나의 iOS 17 iPhone 14 Pro 에 빌드를 해보고 싶어서.. 였다... 이 선택이 나에게 이런 시련을 가져다 줄지 누가 알았을까.. 뭐 올리고 후회하는 건 아니지만 그래도 그때의 나에게 말하고 싶다.. 아는 분들도 많았겠지만, 나는 몰랐다. 세상!! 사람들!!! 소노마로 올리면 14 못써요!!!! 그래서 나는 눈물을 머금고 Xcode15를 받았더랬다. 오늘 블로그를 쓰게 된 경로에 대해 설명하자면, 버그를 수정한 후 새로 바이너리를 올려 배포를 하려던 도중에 문제가 생겨버렸다. 그래..

WWDC가 열리고 몇개월 후, KWDC 라는 컨퍼런스가 열렸다. 카카오톡 iOS 오픈 채팅방에서도 2개월 전부터 홍보하는 등 많은 관심을 받은 만큼 나도 기대가 많이 되었다. 아직까지도 나오는 아쉬운 점 중에 하나는 너무 비싸다는 것이었고, 세션을 미리 공개하지 않았다는 것이다. 세션이 만족스러우면 그 만큼의 돈을 투자할 가치가 있었을 것 같은데 세션이 공개되지 않은 상황에서 결제 먼저 하려니 조금 주저하게 되었던 것 같다. 그러나, 유명한 커뮤니티들의 합작이고 이런 대형 컨퍼런스를 참여할 기회가 많이 없을 것 같아서 흔쾌히 6만 8천원이라는 거금을 들여 신청을 해두었다. 드디어 타임테이블과 세션이 공개되었다. 자세한 내용은 kwdc.dev 에서 확인할 수 있다. 이 중에서 내가 들었던 세션은 이랬다. ..

*** 언어는 Swift! *** 이번에 풀어본 문제는 예전에 크레인 문제와 조금 비슷해보이는 문제였다. 물론 그 때 크레인 문제는 풀지 못했지만 문제 이해는 했었기 때문에 새로운 마음으로 문제 풀이에 도전해보았다. 자세한 문제는 아래와 같다. 여기서 중점은 2원짜리와 5원짜리를 최대한 최소가 되도록 거슬러주어야한다는 것이다. 나는 일단 숫자들을 가져와 2와 5로 빼보면서 어떤 규칙이 있는지 찾아보았다. 내가 찾은 규칙은 n이 홀수면 5로 먼저 빼주고, n이 짝수면 2로 먼저 빼주면 된다는 것이었다. 한 번 빼고 난 뒤 다시 홀수인지 짝수인지 파악해 5와 2를 빼주면 된다. 자 그럼 문제를 쪼개보자. 1. 첫째 줄에 거스름돈 액수 n이 주어진다. 2. 만약 짝수인 경우 2부터 빼주고 짝수인데 5의 배수라..

*** 언어는 Swift! *** 이번에도 저번과 마찬가지로 DP를 이용한 문제이다. 이번 문제도 쉽지 않았지만 문제 속에 힌트가 있었기 때문에 그나마 풀어볼 수 있었던 문제였던 것 같다. 거두절미하고 자세한 문제는 아래와 같다. 문제 속에 식이 있기 때문에 저 식을 이용해 풀면 된다. 단순히 식만 봤을 때는 t(0) * t(n-1) 이 1씩 늘어나면서 계속 반복되는 걸 알 수가 있다. 내가 집중한 건 저 식이 언제까지 반복되느냐이다. 만약 n이 5라면 아래와 같은 식이 나올 것이다. t(5) = t(0) * t(5-1) + t(1) * t(5-2) + t(2) * t(5-3) + t(3) * t(5-4) + t(4) * t(5-5) 이걸 더하기 기준으로 쪼개보면 t(0), t(1), t(2) ... 로..

*** 언어는 Swift! *** 이번에도 DP를 이용한 문제인 1, 2, 3 더하기 라는 문제였다. 이번 문제는 규칙을 찾아야하는 문제였기 때문에 머리가 조금 아팠다. 아직 알고리즘을 푸는데 익숙하지 않아서 그런가 이런 규칙을 찾는 것 또한 나에게는 많은 시간이 필요한 일이었기 때문에 도저히 안되겠어서 블로그의 힘을 빌렸다...🥲 이번 문제는 9095번의 1, 2, 3 더하기 문제이다 자세한 내용은 아래와 같다. 역시나 이번 문제도 DP 문제인 만큼 규칙을 열심히 찾아보려고 노력했으나 내 짧은 뇌로는 역부족이었다. 그래서 다른 사람들의 블로그를 참고하면서 내 나름대로 열심히 규칙을 이해해보려고 노력했다. 그렇게 이해한 게 아래와 같은 방법이었다. 일단 1과 2, 3 이렇게 세 숫자만을 이용해야하기 때문..

*** 언어는 Swift! *** 오랜만에 다시 돌아온 블로그 포스팅.. 벌써 9회차가 된 알고리즘 스터디는 이번에 DP 라는 새로운 개념을 이용한 문제들을 풀어보기로 했다. 사실 DP에 대해서는 난생 처음 들어본거라 공부가 필요했다. 스터디장님이 DP에 대해 설명해주시긴 했지만 그래도 내 스스로 이해가 되지 않아서 좀 걱정이었다. 그래서 나중에 DP 관련으로 정리해서 한 번 블로그 포스팅을 하면 좋을 것 같다고 생각된다. 자 그럼 이번에도 문제를 풀어보자 이번에는 14495번의 피보나치 비스무리한 수열 이라는 제목을 가진 문제였다. 자세한 문제는 아래와 같다. 기존의 피보나치 수열은 1 1 2 3 5 처럼 앞의 수들을 더한 값이 다음 값이 되는 수열이었는데 이번 문제는 제목처럼 피보나치 비스무리한 수열..

*** 언어는 Swift! *** 한동안 블로그를 올리다가 안올렸던 나는 이대로는 안되겠다 싶어서 다시 티스토리를 켰다. (사실 문제를 풀지 못해서 못 올린 것도 있지만) 벌써 7회차에 접어든 알고리즘 스터디(a.k.a 낮평이알 스터디) 앞으로 점점 더 어려워질 것 같은데 내가 따라갈 수 있을지가 정말 걱정이다. 그래도 어디 한번 가보자고! 이번 문제는 4358번 생태학이라는 문제이다. 자세한 문제는 아래와 같다. (더 자세한 문제는 이미지를 클릭하면 볼 수 있다.) 결론적인 부분은 각 종이 전체에서 몇 %를 차지하는지 구하는 프로그램인데 솔직히 처음에는 이해가 가지 않았다. 전체에서 몇 %인데 그 전체가 어느 전체인지, 뭔가 따로 주는 데이터가 (API 같은) 있는건지 이미 결론적으로 나와있는 종의 %..

*** 언어는 Swift! *** 이번에는 되게 재미있는 내용을 담고 있는 문제였다. 14582번의 오늘도 졌다 라는 문제였다. 자세한 문제는 아래와 같다. 나는 야구를 잘 몰라서 처음에 문제를 이해하는 데 조금 시간이 걸렸다. 근데 뭐 그렇게 어려운 내용은 아니었어서 그래도 금방 이해가 됐다. 역전승도 아니고 역전패라니... • ᴗ •̥ ˳ ˳ 역전패는 말 그대로 이기고 있다가 막판에 지는 걸 이야기한다. 자 그럼 슬프지만 문제를 한 번 쪼개보자 1. 첫째 줄과 둘째 줄에는 각각 울림과 스타트링크의 득점의 주어진다. 2. 1회초, 1회말을 거치면서 울림과 스타트링크의 득점을 계산한다. 3. 경기가 진행될 동안 울림이 이긴 적이 있으면 역전패 처리를 한다. 어짜피 울림은 지게 되어있다는 걸 문제에서 명시..

*** 언어는 Swift! *** 이번에는 비슷한 단어라는 이름을 가지고 있는 2607번 문제이다. 이 문제를 풀 때 진짜 생각해야할 것도 많았고, 문제도 이해하는데 시간이 조금 걸렸고 해서 푸는데만 4시간 이상이 걸렸던 문제였다. 처음에 스터디 하기 전에 풀어간 코드가 중간에 마음에 안드는 부분이 있어서 블로그 포스팅 하기 전에 다시 수정했지만 이 코드도 딱히 마음에 드는 편은 아니었다. ⸜( ⌓̈ )⸝ 어쨌든 거두절미하고 자세한 문제 내용은 아래와 같다. 자 오늘도 어김없이 문제를 쪼개보기로 하자 1. 첫째 줄에는 단어의 갯수가 주어지며, 둘째 줄 부터는 한 줄에 하나씩 단어가 주어진다. 2. 두개의 배열 갯수가 같지만 하나씩 다른 문자가 있으면 바꿔준다. 3. 비교하는 단어가 더 길다면 첫번째 단어..

*** 언어는 Swift! *** 벌써 알고리즘 스터디를 시작한 지 4회차이다. 점점 더 어려워지는 문제들을 풀면서 그래도 내가 처음보다는 문제를 풀 수 있다는 것에 놀라웠다. 문제를 풀고 나서 물론 어려웠지만 그래도 다 풀 수 있어서 정말 좋았던 스터디인 것 같다. 자 그럼 오늘도 알고리즘을 시작해보자😇 오늘의 문제는 2164번의 카드2 라는 문제였다. 자세한 문제는 아래와 같다. 솔직히 문제만 보면 어렵지 않은 문제였지만 시간초과에 걸려서 몇 번을 실패했던 문제였다. 스터디 때 보니까 C++로 하셨던 분이 사용했던 방식을 똑같이 썼는데 Swift는 시간복잡도가 높아서 시간초과가 떴었다. 너무 슬프다... 나중에 시간 복잡도도 한번 정리해보고 싶다!🤒 자 그럼 이번에도 문제를 쪼개보자 1. N을 입력받..