본문 바로가기

전체 글

[프로그래머스 Programmers][Python] 다리를 지나는 트럭 문제 : https://programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 | 프로그래머스 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이는 bridge_length이고 다리는 무게 weight까지 견딥니다. ※ 트럭이 다리에 완전히 오르지 않은 경우, 이 트럭의 무게는 고려하지 않습니다. 예를 들어, 길이가 2이고 10kg 무게를 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서 programmers.co.kr 트럭을 세 그룹으로 나눠서 1. 지나간 트럭, 2. 다.. 더보기
[프로그래머스 Programmers][Python] 탑 문제 : https://programmers.co.kr/learn/courses/30/lessons/42588 코딩테스트 연습 - 탑 | 프로그래머스 수평 직선에 탑 N대를 세웠습니다. 모든 탑의 꼭대기에는 신호를 송/수신하는 장치를 설치했습니다. 발사한 신호는 신호를 보낸 탑보다 높은 탑에서만 수신합니다. 또한, 한 번 수신된 신호는 다른 탑으로 송신되지 않습니다. 예를 들어 높이가 6, 9, 5, 7, 4인 다섯 탑이 왼쪽으로 동시에 레이저 신호를 발사합니다. 그러면, 탑은 다음과 같이 신호를 주고받습니다. 높이가 4인 다섯 번째 탑에서 발사한 신호는 높이가 7인 네 번째 탑이 수신하고, 높이가 7 programmers.co.kr 이 문제도 간단하다. 어차피 신호는 오른쪽 에서 왼쪽으로 쏘니까 탑 하.. 더보기
[프로그래머스 Programmers][Python] 주식가격 문제: https://programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 | 프로그래머스 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,000 이하인 자연수입니다. prices의 길이는 2 이상 100,000 이하입니다. 입출력 예 prices return [1, 2, 3, 2, 3] [4, 3, 1, 1, 0] 입출력 예 설명 1초 시점의 ₩1은 끝까지 가격이 떨어지지 programmers.co.kr 이 문제는 앞에서부터 하나 하나 돌아가면서 끝까지 보면 된다. 중요.. 더보기
Goroutine 정리 겸 번역 -1 개념과 구조 모 회사 면접에서 Goroutine은 어떻게 동작하냐는 질문에 댕댕이 소리만 했었는데, 좀 정리해서 다음번엔 좀 사람말처럼 들리는 댕댕이소리를 하는것을 목적으로 정리함. 예시 코드는 귀찮아서 패스. 1. Goroutine Goroutine 은 Go runtime 에 의해 관리되는 경량 쓰레드이다. (#) 특징으로는 : 기본 쓰레드에 비해 엄청 가볍다. X KB 정도 (기본 쓰레드는 MB단위) Context Switching 도 가볍다. (program counter 랑 몇개만 들고있을거다.) 그래서 쉽게쉽게 Concurrency 가능 쓰레드 위에 몇개 붙어있는 구조임 따라서 한 쓰레드가 system call같은걸로 block당해도 다른 쓰레드의 goroutine을 돌리면됨 Channel 로 각 gorou.. 더보기
iOS 개발 공부할 때 볼만한 링크 모음 - Rolling upgrade 1. Hacking With Swift -> 이거 보는중 https://www.hackingwithswift.com/ Hacking with Swift – learn to code iPhone and iPad apps with free Swift 5.1 tutorials We have a lot of books, so it can sometimes be hard to know where to start. To make things easier, We've highlighted a few common kinds of reader and recommended books for each of them. If you have further questions, don't hesitate to email me at.. 더보기
Swift 5 정리-1 (스위프트 프로그래밍 3판 2장) Swift 5 컨닝페이퍼 만들기 Naming convention 유니코드 사용가능 예약어 불가 이름 중복금지 연산자 숫자로 시작 스페이스 금지 함수 메서드 인스턴스 -> 소문자 카멜케이스 copyPasteFunc 클래스, 구조체, 익스텐션, 프로토콜, 열거형 -> 대문자 카멜케이스 YoIAmHumanClass 대소문자 구분 print() ```swift print("swift good very good") print("hello swift \(varName)") // 문자열 보간법, varName이 들어감. ``` CustomStringConvertible 프로토콜 만들면 가능 StringInterpolationProtocol 도 있음 -> 다양한 경우 주석 // 한줄주석 /* 여러 줄 주석 */ 마크업.. 더보기
Swift 공부중 예체능에 재능이 없다는것을 깨닫고 백엔드에만 전념했는데 iOS 앱을 만들고 싶어서 공부함 Swift 공부중인데 재밌다. 언어 스펙도 괜찮고 더보기
The Raft Consensus Algorithm(1) - 공식 사이트 번역 # Raft 란 무엇인가? (뗏목) Raft는 이해하기 쉬운 것을 목표로 만든 합의(consensus) 알고리즘이다. Raft는 Paxos(https://en.wikipedia.org/wiki/Paxos_(computer_science)) 와 같은 성능과 내결함성(Fault-tolerance)을 가진다. Paxos 와의 차이점은, Raft는 과제를 작고 독립적인 문제들로 나눠 실제 시스템에 필요한 기능을 만든다는 것이다. 우리는 더 많은 개발자들이 Raft를 이용하여 현재의 합의 기반(Consensus-based) 시스템보다 훨씬 좋은 것들을 개발하였으면 한다. # 잠시만 , 합의(Consensus) 가 뭔데? 합의(Consensus)는 내결함성이 필요한 분산 시스템에서의 중요한 과제이다. 합의는 여러 .. 더보기