iOS DevMode
close
프로필 배경
프로필 로고

iOS DevMode

  • 분류 전체보기
    • # TIL (Today I Learned)
    • 🍎Apple Developer Academy @p..
    • # 개발
      • 프로젝트
      • Swift
      • SwiftUI
      • 알고리즘
      • 자료구조
      • Java
      • Android
      • C언어
    • # 서비스기획
      • 웨어잇
      • 꿀스테이
      • SeSac 후기
    • # CS
      • 컴퓨터개론
      • 운영체제
    • # 국비교육
    • 후기
  • 홈
  • 방명록
  • GitHub

[알고리즘] Swift 정렬

Swift의 sort 메서드는 어떻게 동작하는지, 얼마나 효율적인지 궁금할 때가 있다. 이를 알아보기 위해 대표적인 정렬 알고리즘 몇 가지를 알아보고, swift에서는 어떻게 구현되어 있는지 알아보자!0. 알아둬야 할 것들0-1. Stable vs UnstableStable정렬의 결과가 항상 일정(= 기존의 정렬 순서가 유지됨)Unstable 정렬의 결과가 매번 다를 수 있음(=기존의 정렬순서가 유지되지 않음)  - id: 1 / name: Hue / power: 7777 / date: 2024.04.25 10:00 - id: 2 / name: Jack / power : 8888 / date: 2024.04.25 10:02 - id: 3 / name: Den / power: 9999 / date: 202..

  • format_list_bulleted # 개발/알고리즘
  • · 2024. 4. 25.
  • textsms
[알고리즘] Swift - 토마토(백준7576)

[알고리즘] Swift - 토마토(백준7576)

· 아이디어💡 우선 BFS를 활용하여 문제를 풀 예정이다. 배열을 사용하고, 델타 탐색을 이용해서 행렬의 각 요소들을 탐색할 예정이고, 값이 1인 시작점으로부터 계속 +1을 해서 배열의 최댓값에서 -1을 하여 print 할 것이다. · 코드 😵😵‍💫 풀이 1. (시간초과) func boj7576() { // 배열 크기 입력 let size = readLine()!.split(separator: " ").map { Int($0)! } let col = size[0] let row = size[1] // 배열 세팅 var arr: [[Int]] = [] var queue: [(Int, Int)] = [] for _ in 0..

  • format_list_bulleted # 개발/알고리즘
  • · 2024. 4. 21.
  • textsms
[알고리즘] Swift - 카드2(백준2164)

[알고리즘] Swift - 카드2(백준2164)

· 아이디어💡 이 문제에 접근 방법은 두 가지가 있다. 하나는 큐를 구현해서 푸는 방법과 큐를 구현하지 않고 푸는 방법이 있다. 결론적으론 두 방법 다 같은 원리로 접근해서 푸는 방법이긴 하다. 포인터 큐를 사용할 예정인데, dequeue를 하면 front라는 제일 처음 인덱스를 +1을 계속해줌으로 써 dequeue를 한 배열은 배제하고 그 이후 인덱스부터 확인하는 방법이다. 큐를 구현하지 않고 푸는 방법도 같은 원리를 사용하는 방법이다. · 코드 😵😵‍💫 1. 큐를 구현해서 푸는 방법 struct QueuePointer { private var elements: [T] = [] private var front = 0 var isEmpty: Bool { elements.count < front + 1 }..

  • format_list_bulleted # 개발/알고리즘
  • · 2024. 4. 16.
  • textsms
[알고리즘] Swift - 올바른 괄호(백준9012)

[알고리즘] Swift - 올바른 괄호(백준9012)

· 아이디어💡 이 문제는 스택으로 풀 수 있는 문제이다. 그러나 이미 많은 라이브러리가 존재하는 C++과 파이썬과는 달리 Swift는 Stack을 사용하려면 40줄 가까운 코드를 따로 써야 한다. 그래서 필요하다면 Stack을 구현하겠지만 구현할 수 없다면 다른 방법으로 푸는 것도 하나의 방법이다. 이 문제의 아이디어는 입력받은 문자열의 제일 왼쪽부터 "("인지 ")" 인지 확인해보면서 count를 하고, count 값이 0이 되면 true를 반환, 0이 아니거나 한 번이라도 0 미만으로 내려가면 false를 반환해서 "YES"인지 "NO"인지 프린트를 하면 된다. · 코드 😵😵‍💫 func sol9012() { let total = Int(readLine()!)! var answer: [Bool] = ..

  • format_list_bulleted # 개발/알고리즘
  • · 2024. 4. 16.
  • textsms
  • navigate_before
  • 1
  • navigate_next
전체 방문자
오늘
어제
전체
전체 카테고리
  • 분류 전체보기
    • # TIL (Today I Learned)
    • 🍎Apple Developer Academy @p..
    • # 개발
      • 프로젝트
      • Swift
      • SwiftUI
      • 알고리즘
      • 자료구조
      • Java
      • Android
      • C언어
    • # 서비스기획
      • 웨어잇
      • 꿀스테이
      • SeSac 후기
    • # CS
      • 컴퓨터개론
      • 운영체제
    • # 국비교육
    • 후기
최근 글
인기 글
최근 댓글
태그
  • #국비교육
  • #성장
  • #Today I Learned
  • #자바
  • #오늘 배운것
  • #SWIFT
  • #IOS
  • #TIL
  • #회고
  • #java
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바