콩벌레 개발자의 개발 공부 노트
close
프로필 배경
프로필 로고

콩벌레 개발자의 개발 공부 노트

    • 분류 전체보기 (233)
      • 일상 (7)
        • 일상 이야기 (4)
      • Web (17)
        • Spring Boot (6)
        • CSS (3)
        • HTML (2)
        • JSP (0)
      • R (4)
      • Algorithm (88)
        • 백준 (67)
        • 프로그래머스 (19)
      • ICT COG Academy (8)
        • AI 기본 (8)
      • 계산이론 (6)
      • 데이터 베이스 (1)
      • IOT 네트워크 (1)
      • iOS (63)
        • RxSwift (2)
        • swift (15)
        • 앱 개발 (31)
        • 보안 (1)
        • UIKit (10)
        • SwiftUI (3)
      • 클린 아키텍처 (7)
      • 클린 코드 (3)
      • 컴퓨터 구조 (14)
      • 네트워크 (10)
      • 자료구조 (0)
      • 운영체제 (2)
      • 안드로이드 (0)
      • 개발 (0)
  • mode_edit_outline글작성
  • settings환경설정
  • 홈
  • 태그
  • 방명록

프로그래머스 : 프린터(Swift)

큐에 해당하는 문제지만 딱히 큐를 쓰지 않아도 되는 문제. 풀이도 어떻게 보면 큐지만 큐가 아닌것. 이번에도 커서를 이용해 풀이했다. stayList에 현재 커서의 위치보다 작은 값의 유무를 Bool로 받는 배열을 생성하고 그 배열에 false가 없을 시 커서의 위치를 +1을 한다. 배열에 false가 있을 시 출력해야 하는 위치를 변경한다. import Foundation func solution(_ priorities:[Int], _ location:Int) -> Int { var nowLocation = location var myQueue : [Int] = [] var count = 1 for item in priorities { myQueue.append(item) } var cursor = 0..

  • format_list_bulleted Algorithm/프로그래머스
  • · 2021. 9. 15.
  • textsms

프로그래머스 : 기능개발(Swift)

스택/큐 단계의 첫번째 문제. 자료구조를 배운사람이라면 문제를 읽으면 어떤 것을 써야할지 알것이다. 이번문제에서 쓸 자료구조는 큐이다. 다만 Swift에서 스택이나 큐는 구현되어 있지 않으므로 구조체나 클래스 혹은 배열을 써서 대신해야 한다. 원래는 구조체를 써서 구현하려고 하였으나 오히려 더 복잡해져서 배열로 큐의 원리를 구현하였다. myQueue에는 해당 작업이 완료되는데 걸리는 시간을 넣어둔다. 4 1 5 3 2 cursor는 큐에서 dequeue역할을 한다. 4 1 5 3 2 cursor cursor에 해당하는 작업보다 현재 가리키고 있는 작업시간의 이하이면 count에 1을 더하고 cursor에 1을 더한고 answer에 count를 추가한다. cursor에 해당하는 작업보다 더 크면 거기서 중..

  • format_list_bulleted Algorithm/프로그래머스
  • · 2021. 9. 14.
  • textsms

프로그래머스 : 베스트 앨범(Swift)

프로그래머스 해쉬단계 마지막 문제. 이 문제에서 까먹기 쉬운것이 장르당 최대 2개까지만 추가 가능하다는 점이다. 이 점도 모르고 꽤 헤멨다. 또 이문제에서 헤멧던 것은 장르를 재생수 순서로 정렬을 하고 장르에 해당하는 인덱스 값을 가져오는것이었는데 처음에는 gernes로만 인덱스 값을 가져오려 했지만, 그 경우 노래 양이 많아지면 시간이 오래 걸려 다른 Dictionary를 만들어서 인덱스 값을 가져오게 하였다. 1. songList에 장르당 총 재생시간을 추가한다. 또 장르의 인덱스 값을 value로 가지는 idByValue를 만든다. 2. songList를 재생량 순으로 정렬. 3. songList에서 장르 순으로 인덱스 값을 가지고 있는 idByValue를 통해 plays를 재생 순으로 정렬해서 s..

  • format_list_bulleted Algorithm/프로그래머스
  • · 2021. 9. 13.
  • textsms

프로그래머스 : 위장(Swift)

Dictionary를 이용하는 문제. 처음에는 경우의 수를 생각해 반복문으로 풀으려고 했으나 그렇게 할 필요가 없이 각 종류별 옷의 수량+1을 곱한 수 마지막에 -1을 빼면 된다. Dictionary는 키값이 옷의 종류이고 value가 종류의 개수다. func solution(_ clothes:[[String]]) -> Int { var count = 1 var clothDic : [String : Int] = [:] for item in clothes { if clothDic.contains(where: { (key: String, value: Int) in return key == item[1] }){ clothDic[item[1]] = clothDic[item[1]]!+1 }else{ clothDi..

  • format_list_bulleted Algorithm/프로그래머스
  • · 2021. 9. 11.
  • textsms

프로그래머스: 전화번호 목록(Swift)

프로그래머스 2단계 문제. 생각보다 어렵지는 않다. hash대신에 Dictionary를 사용해 풀었다. phone_book를 정리한 후 Dictionary에 삽입 후 순서대로 비교한다. 단 해당 번호는 Dictionary에서 삭제해야한다. 안그러면 무조건 false가 나온다. import Foundation extension String{ func starstWith(var input : String)->Bool{ if self == input.prefix(self.count) { return true } return false } } func solution(phone_book : [String])->Bool{ var answer = true var list = phone_book.sorted() va..

  • format_list_bulleted Algorithm/프로그래머스
  • · 2021. 9. 10.
  • textsms

백준 10870: 피보나치 수 5(Swift)

https://www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 재귀를 이용한 피보나치의 수. 딱히 설명할 것도 없는듯하다. import Foundation func fibo(n : Int)->Int{ if n == 1 { return 1 } else if n == 0{ return 0 }else{ return fibo(n: n-1) + fibo(n: n-2) } } print(fibo(n: 10))

  • format_list_bulleted Algorithm/백준
  • · 2021. 9. 10.
  • textsms
  • 1
  • ···
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • ···
  • 15
공지사항
카테고리
  • 분류 전체보기 (233)
    • 일상 (7)
      • 일상 이야기 (4)
    • Web (17)
      • Spring Boot (6)
      • CSS (3)
      • HTML (2)
      • JSP (0)
    • R (4)
    • Algorithm (88)
      • 백준 (67)
      • 프로그래머스 (19)
    • ICT COG Academy (8)
      • AI 기본 (8)
    • 계산이론 (6)
    • 데이터 베이스 (1)
    • IOT 네트워크 (1)
    • iOS (63)
      • RxSwift (2)
      • swift (15)
      • 앱 개발 (31)
      • 보안 (1)
      • UIKit (10)
      • SwiftUI (3)
    • 클린 아키텍처 (7)
    • 클린 코드 (3)
    • 컴퓨터 구조 (14)
    • 네트워크 (10)
    • 자료구조 (0)
    • 운영체제 (2)
    • 안드로이드 (0)
    • 개발 (0)
최근 글
인기 글
최근 댓글
태그
  • #uikit
  • #2023
  • #swift
  • #8기
  • #IOS
  • #부트캠프
  • #변경된 점
  • #edwith
  • #스탠포드 강의
  • #앱개발
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바