쑤야의 개발 블로그

고정 헤더 영역

글 제목

메뉴 레이어

쑤야의 개발 블로그

메뉴 리스트

  • 홈
  • 태그
  • 분류 전체보기 (98)
    • Algorithm (52)
    • CS (0)
    • AI (15)
      • PyTorch (4)
      • 논문 (3)
      • Open3D (7)
      • DL (0)
    • iOS (30)
      • RxSwift (4)
      • Combine (4)
      • Swift (1)
    • ETC (1)
      • 기타 (1)

검색 레이어

쑤야의 개발 블로그

검색 영역

컨텐츠 검색

분류 전체보기

  • [프로그래머스] 주차 요금 계산

    2023.12.29 by 쑤야.

  • [프로그래머스] 압축

    2023.12.26 by 쑤야.

  • [프로그래머스] 네트워크

    2023.12.25 by 쑤야.

  • Combine은 withLatestFrom을 제공하지 않는다

    2023.12.25 by 쑤야.

  • Timer 사용해보기

    2023.12.24 by 쑤야.

  • Repository의 DTO → Entity 변환 과정 개선하기

    2023.12.23 by 쑤야.

  • [프로그래머스] k진수에서 소수 개수 구하기

    2023.12.22 by 쑤야.

  • [프로그래머스] 타겟 넘버

    2023.12.21 by 쑤야.

[프로그래머스] 주차 요금 계산

https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 하나의 차량이 여러 번 입차/출차 할 수 있으므로(입차 다음은 무조건 출차로 순서 고정), 일단 차량에 대한 정보를 배열에 모아준 이후, 인덱스 값을 활용하여 이용시간을 연산한다. 로직 차량번호 별로 입차/출차 기록 모으기 차량 번호 순으로 결과를 반환해야 하므로, 차량 번호로 정렬한 후에 각 차량 번호들에 대해 반복문을 돌며 연산 수행 만약 입차/출차 기록이 홀수인 경우, 23:59에 출차..

Algorithm 2023. 12. 29. 15:52

[프로그래머스] 압축

https://school.programmers.co.kr/learn/courses/30/lessons/17684?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 딕셔너리를 활용하여 [단어 : 색인 번호]와 같이 정보를 저장 로직 아스키 코드를 활용하여 사전 기본 세팅 현재 입력값 찾기 w의 시작 인덱스는 index로 동일, w의 끝 인덱스를 endIndex 변수로 설정하고 사전에 index.. [Int] { var map = [String: Int]() for i in 1...26 { map[String(UnicodeS..

Algorithm 2023. 12. 26. 13:53

[프로그래머스] 네트워크

https://school.programmers.co.kr/learn/courses/30/lessons/43162?language=swift 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 특정 노드에 대해 다른 노드들이 연결되어 있는지 모두 확인해야 하므로, 깊이 우선 탐색을 사용한다. 로직 노드 x에 대한 방문 여부를 저장하는 배열을 생성한다. 네트워크는 여러 개 생성될 수 있다. 즉, 중간에 끊겨서 확인하지 못하는 노드가 발생될 수 있기 때문에 0부터 n-1 까지 반복문을 사용해 아직 점검하지 않은 노드가 있는지 확인한다. 위의 반복문 안에서 노..

Algorithm 2023. 12. 25. 12:20

Combine은 withLatestFrom을 제공하지 않는다

RxSwift의 withLatestFrom RxSwift에서 withLatestFrom은 방출 기준이 되는 observable이 방출될 때마다 다른 observable의 최신 값을 가져와 결합한 후, observable을 방출한다. Combine은? Combine에서 다른 publisher들을 모아서 재방출할 수 있는 연산자로 zip, merge, combineLatest 3가지가 있는데 아쉽게도 withLatestFrom와 같은 기능을 수행하는 연산자는 없다. combineLatest가 최신 값을 가져와 방출하는 특징을 가지고 있다. 하지만 기준으로 설정한 publisher가 새로운 이벤트를 방출할 때에 대해서만 이벤트가 방출되는 것이 아니라, 기준에 상관없이 결합된 다른 publisher들이 새로운 ..

iOS/Combine 2023. 12. 25. 00:25

Timer 사용해보기

https://developer.apple.com/documentation/foundation/timer Docs Overview 타이머는 실행 루프와 함께 작동한다. 실행 루프는 타이머에 대한 강력한 참조를 유지하므로 타이머를 실행 루프에 추가한 후 타이머에 대한 강력한 참조를 유지할 필요가 없다. 타이머는 실시간 메커니즘이 아니다. 따라서 long run loop가 호출되거나, run loop가 타이머를 모니터링하지 않는 모드에서 타이머의 실행이 발생하게 될 경우, 다음 run loop 확인 전까지 타이머가 실행되지 않아 실제 시간과 오차가 발생할 수도 있다. Comparing Repeating and Nonrepeating Timers Timer 생성 시 반복인지, 비반복인지를 지정해줘야 한다. 비..

iOS 2023. 12. 24. 20:33

Repository의 DTO → Entity 변환 과정 개선하기

프로토콜 초기 구현을 통해 Repository에서 DTO를 Entity로 변환하는 코드를 개선한 과정을 기록한다. 문제 인식 아래 코드는 댓글 생성 API이다. 이 포스팅에서 집중적으로 다룰 곳은 노란색 박스로 표시한 부분이다. 박스 안에서는 API를 요청하고 결과를 반환한다. API 요청 결과인 dto와 error 프로퍼티에 대해 map operator를 사용해 도메인에서 사용하는 entity로 변환해 준다. 이렇게 API를 요청하고 모델을 변환하는 과정은 댓글 생성 API만 사용하는 것이 아니라, Repository 내의 모든 API 요청 메서드가 거쳐야 하는 작업이다. 나는 모든 메서드마다 작성해줘야 하는 최소 5줄의 중복 코드에 대해 불편함을 느꼈다. 또한 프로젝트에서 API 응답 결과로 빈 값이..

iOS 2023. 12. 23. 00:19

[프로그래머스] k진수에서 소수 개수 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/92335?language=swift# 접근 0이 포함되지 않아야 하므로, 0을 기준으로 문자열을 분리한다. 로직 n을 k진법으로 변환한다. 0을 기준으로 문자열을 자른다. 케이스들을 필터링한다. 2부터 타켓 값의 제곱근까지, 타켓이 나눠지는 지 점검한다. 나눠지는 경우 소수가 아니다. 시간초과를 방지하기 위해 반드시 제곱근을 루프의 끝으로 지정해야 한다. 풀이 func solution(_ n:Int, _ k:Int) -> Int { let radix = String(n, radix: k).split(separator: "0").map{ Int($0)! } func isPrime(_ value: Int..

Algorithm 2023. 12. 22. 13:43

[프로그래머스] 타겟 넘버

접근 가능한 모든 케이스를 찾아야 하므로, 완전 탐색 유형이다. 시작을 0으로 하여 0번째 인덱스도 +/- 연산이 되도록 한다. 로직 너비 우선 탐색 (BFS) 큐에 0을 담는다. numbers에 대해 반복문을 돈다. queue에 담겨져 있는 모든 케이스에 대해서 새로운 정수를 더하거나/빼서 다시 큐에 넣어준다. 반복문 종료 이후, 필터링을 통해 타겟과 동일한 누적합만 남기고 길이를 반환한다. 깊이 우선 탐색 (DFS) 인덱스와 누적합 매개변수를 담을 수 있는 함수를 생성한다. 인덱스에 해당하는 값을 누적합에 더한 함수를 호출한다. 인덱스에 해당하는 값을 누적합에서 뺀 함수도 호출한다. 인덱스가 numbers의 크기와 같아졌을 때, 탐색을 끝낸다. 타켓 값과 누적합이 동일한 경우 result를 갱신한다...

Algorithm 2023. 12. 21. 14:00

추가 정보

인기글

최신글

페이징

이전
1 ··· 5 6 7 8 9 10 11 ··· 13
다음
TISTORY
쑤야의 개발 블로그 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바