전체 글 244

[프로그래머스] 키패드 누르기 파이썬

https://school.programmers.co.kr/learn/courses/30/lessons/67256 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 보기 더보기 내 코드 def judge(start, end): keypad = { '1': (0, 0), '2': (0, 1), '3': (0, 2), '4': (1, 0), '5': (1, 1), '6': (1, 2), '7': (2, 0), '8': (2, 1), '9': (2, 2), '*': (3, 0), '0': (3, 1), '#': (3, 2) } start_distance = ..

BOJ/Python 2023.11.24

[프로그래머스] 신고 결과 받기 파이썬

https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 보기 더보기 내 코드 from collections import defaultdict def solution(id_list, report, k): answer = [0] * len(id_list) report_count = defaultdict(int) for i in set(report): report_count[i.split()[1]] += 1 filtered_set = {key for ..

BOJ/Python 2023.11.20

[우테코 6기 BE] 프리코스 4주차 회고 - 크리스마스 프로모션

🧑‍🎄 크리스마스 프로모션 링크 크리스마스 프로모션 (코드포함) 4주차 미션은 좀 특별하게 진행 되었기 때문에 private 저장소, PR 제출이 없이 진행 되었습니다. 미션 이후 public으로 변경 📃 과정 - 과제 시작 이번 미션은 마지막 미션만큼 가장 재미있는 미션이었습니다. 처음에 작업하는 방식, 제출 방식부터 달랐기 때문입니다. 첫 메일부터 흥미 진진 했습니다. 과제시작은 과제 미션 저장소 -> Use Template 로 개인 레포를 만들고(private) -> ⭐️ Collaborator 초대하기 이 순서로 만들고 clone을 하여 진행을 해야 했습니다 - 또 중요했던 부분 평소에는 개인 브랜치를 파서 진행했어야 했었는데, 이번에는 main 브랜치에서 작업을 했어야 했습니다. 안하면? 응 0..

회고 2023.11.17

[우테코 6기 BE] 프리코스 3주차 회고 - 로또

🍀 로또 링크 로또 문제 로또 PR 📃 구현과정 - 정해진 기능 템플릿 이번에도 기능목록을 먼저 작성하고, 기능 단위로 커밋하는 방법으로 과제를 진행 하였습니다. 3주차 로또에서는 고정된 코드를 주고, 변경을하지못하고 추가만 할 수 있는 조건이 추가 되었습니다. 저는 이 부분(validate)을 추상화 하였습니다. 다른 부분에서도 validate는 사용하지만, 다른 형태로 쓰이기 때문입니다. 순서대로 로또, 보너스번호, 당첨번호 입니다. 추상화를 적용하여 Validation처리를 하였습니다.. 아래는 제 Class Diagram 입니다.. 정말 복잡하죠..? 하하... 그리고 Enum을 활용하라는 요구사항이 있어서 당첨금액을 Enum으로 활용을 해보았습니다. ordinal의 경우 enum의 순서가 바뀌거..

회고 2023.11.17

[우테코 6기 BE] 프리코스 2주차 회고 - 자동차 경주

🚗 자동차 경주 링크 자동차 경주 문제 자동차 경주 PR 📃 구현과정 2주차에서는 "메세지" 라는 키워드로 구현을 하였습니다. 객체지향의 사실과 오해 라는 책을 읽으면서 아래 문구를 보았습니다. "객체지향의 강력함은 클래스가 아니라 객체들이 주고받는 메시지로 부터 나온다." 그래서 저는 필요한 메세지를 먼저 만들고 객체를 먼저 만들면서 구조를 그렸습니다. 하지만 아직 부실한 메시지의 형태이고, 정확한 추상화가 안 돼있어서 조금 복잡하거나, 이해가 안 될 수도 있습니다. 이번 주에는 최대한 요구사항을 지키려고 노력했으며 코드 리뷰를 열심히 하면서 부족한 부분을 채웠습니다. 그리고 가장 중요한 부분인 README 작성에 신경을 좀 썼습니다. 하지만 마지막 100줄 Java Collection을 사용한다 부분..

회고 2023.11.04

[우테코 6기 BE] 프리코스 1주차 회고 - 숫자야구

2023년 10월 단풍이 시기가 시작 할 무렵 프리코스를 시작 하였다. 우테코는 지원만 하면 모든 인원이 프리코스에 참여가 가능 하다. 우테코의 교육 철학이 아래 문구와 같기 때문이다. 소프트웨어 생태계에 선한 영향력을 지원자 수는 무려 4500명 정말 말도 안 되는 숫자다. 그중 150명 내외 정도가 교육 인원으로 모집이 되고 2배 수인 300명 정도가 최종 코딩 테스트를 볼 수 있다. 경쟁에 신경 쓰지 않고 한 달 정도의 긴 여정 동안 많은 걸 배웠으면 좋겠다. https://github.com/woowacourse-precourse/java-baseball-6 GitHub - woowacourse-precourse/java-baseball-6 Contribute to woowacourse-preco..

회고 2023.10.26

[Swift] 문자열 뒤집는 방법

이번 글에서는 Swift 문법에서 문자열을 뒤집는 방법을 알아 보겠습니다. 예제로 프로그래머스 문제를 가져왔습니다. [프로그래머스] 문자열 뒤집기 참고 (더보기 클릭!) 더보기 https://school.programmers.co.kr/learn/courses/30/lessons/120822 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 코드 import Foundation func solution(_ myString:String) -> String { return String(myString.reversed()) } Review 처음에는 문자열을 배..

Swift 2023.10.13

[iOS] 외부 라이브러리 수정 후 프로젝트에 적용하는 방법

📝 라이브러리를 수정한 이유 프로젝트를 하면서 외부 라이브러리를 수정해서 내 프로젝트에서 사용하는 경우가 있습니다. iOS UIKit 프로젝트로 예시를 들며 설명하겠습니다. 저는 SPM 이 아닌 CocoaPods를 사용하였습니다. 보통 iOS에서는 부가 기능을 만들고 싶을 때 extension 을 사용하는 게 적절한 방법인데요 하지만 저장 속성을 추가하는 경우가 있습니다! extension에서는 저장 속성이 포함되면 안됩니다. ⭐️ 따라서 완전히 가져온 라이브러리를 Custom 하는 것인데요. 제가 최근에 사용한 라이브러리는 DropDown 라이브러리를 사용했습니다. ( 자세하게 구현한 내용은 따로 업로드 하겠습니다 ! ) 최근에 저의 앱 Alert을 actionSheet를 사용하다가, 커스텀으로 저희 ..

iOS 2023.10.12

[iOS] SDK does not contain 'libarclite' at the path

종종 외부 라이브러리를 내 앱 안에 사용하고 싶을 때 cocoaPods나 SPM으로 관리해 주는 경우인데요, 잘 다운을 받았을때도 가끔 Path 이슈나 iOS 최소버전 이슈로 안되는경우가 있습니다. 그 에러 중 하나가 아래와 같이 나와있는데, Showing All Issues SDK does not contain 'libarclite' at the path '/Users/Name/Desktop/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphonesimulator.a'; try increasing the minimum deployment target 즉 최소 배포버전이 너무 낮다는 문제 였고..

iOS 2023.10.06

[iOS] 데이터 페이징 (Pagination) in UIKit ColletionView

📱 UIKit CollectionView를 활용한 페이징(Pagination) UIKit의 CollectionView를 사용하여 페이징(Pagination)을 구현하는 방법을 소개합니다. 화면 스크롤을 통해 추가 데이터를 동적으로 로드하고 화면에 표시하는 방법을 간단한 그림과 함께 알아보겠습니다. Q. Pagination 왜 할까? 데이터가 100,000개 가 있다고 가정합니다. 항상 특정 뷰를 볼 때 전체 데이터를 불러오는 것은 굉장히 비효율적이라고 할 수 있습니다. 일단 앱에서 데이터를 다 가져온다면 🔥속도 측면에서 굉장히 느려질 수 있고 그 결과는 🔥유저 경험에서 마이너스가 될 수 있습니다. 따라서 적절히 페이징을 하여 사용자가 필요할 때만 적절한 데이터를 불러오는 게 유저 경험과 앱에서 플러스가 ..

iOS 2023.09.24