분류 전체보기 24

식권계산기 - 프롤로그: 몇 장 내야되지?

계산은 식권으로 할게요 🙋‍♂️ 이 글을 읽는 여러분은 혹시 종이 식권 사용해본 적 있으신가요? 제가 근무한 회사에서는 주변 식당이나 카페에서 현금처럼 사용이 가능한 종이 식권을 임직원들에게 매달 지급했습니다. 이런 모습의 종이 식권을 들고 1층 카페나 근처 식당에서 음식을 주문을 하곤 했습니다. 식권 가격이 4,500원이었고 1층 카페에서 파는 음료들은 2~3천원대, 내부 식당의 한 끼 식사는 4,500원, 외부 식당들은 6~8천원 정도 했었죠. 매일하는 잔돈 계산 그렇게 주문한 음식을 계산할 때는 대체로 계산기가 필요했습니다. 식권 한 장 값도 안되는 음료 한 잔을 시킨다면 계산기는 필요하지 않았지만, 동료의 음료를 같이 주문한다거나 밖에 나가 식사를 한다면, 잔돈계산이야 종업원분께 믿고 맡긴다지만 ..

[해결] 백준 2588 런타임에러

import Foundation let line = readLine()! let lineArr = line.components(separatedBy: "\n") let a = Int(lineArr[0])! let b = lineArr[1] let c = a * Int(String(b[b.index(b.startIndex, offsetBy: 2)]))! let d = a * Int(String(b[b.index(b.startIndex, offsetBy: 1)]))! let e = a * Int(String(b[b.index(b.startIndex, offsetBy: 0)]))! let f = a * Int(b)! print(c, d, e, f, separator: "\n") 위 코드는 런타임 에러를 발생시..

식권계산기 개인정보처리방침

'식권계산기'는 (이하 '앱') 이용자의 개인정보를 중요시하며, "정보통신망 이용촉진 및 정보보호"에 관한 법률을 준수하고 있습니다. 앱에서는 개인정보취급방침을 통하여 고객님께서 제공하시는 개인정보가 어떠한 용도와 방식으로 이용되고 있으며, 개인정보보호를 위해 어떠한 조치가 취해지고 있는지 알려드립니다. ■개인정보의 수집 및 이용목적 앱은 회원가입을 받지 않기 때문에 개인정보를 수집하지 않습니다. ■개인정보의 보유 및 이용기간 앱은 개인정보를 보유하고 있지 않으며, 이용하지 않습니다. ■개인정보 수집방법 앱은 개인정보를 보유하고 있지 않기 때문에, 수집 방법 또한 존재 하지 않습니다. ■개인정보의 파기 절차 및 방법 앱은 개인정보를 수집, 이용, 보유하지 않습니다. ■개인정보 공유 및 제3자 제공 앱은 ..

Unit 1 - Lesson 5: Xcode

https://help.apple.com/xcode/mac/8.2/index.html?localePath=en.lproj#/devc8c2a6be1 https://help.apple.com/xcode/mac/8.2/index.html?localePath=en.lproj#/devc8c2a6be1 To see this page, you must enable JavaScript. Pour afficher cette page, vous devez activer JavaScript. Zur Anzeige dieser Seite müssen Sie JavaScript aktivieren. このページを表示するには、JavaScript を有効にする必要があります。 help.apple.com 커맨드 + 옵션 + 컨트롤 + 엔..

카테고리 없음 2021.10.22

Unit 1 - Lesson 2: Constants, Variables, and Data Types

Constants and variables 상수는 immutable: 초기화 이후에 값을 변경할 수 없다. 변수는 mutable : 초기화 이후에 값을 변경할 수 있다 * 변수나 상수를 만들고 처음 값을 할당하는 것을 초기화(initialize) 라고함 상수나 변수를 정의하는 것은, - 값을 메모리에 할당하는 것 - 이름으로 값을 연상하는 것, 이름과 값을 연결지어 생각하는 것 방 안에 있는 것을 상수와 변수로 구분해보자. 상수: 책상의 길이, 방의 크기 변수: 방의 온도, 책의 개수 상수와 변수의 이름 규칙 수학적 기호 사용 불가, 공백 허용 불가, 숫자로 시작할 수 없음 네이밍 명백하고 설명적이게 작성하기 여러 단어로 된 이름의 경우 camel case로 작성하기 Type safety 서로 다른 타입..

Unit 1 - Lesson 1: Introduction to Swift and Playgrounds

스위프트를 현대의 언어라고 할 수 있는 3가지 요소 1. Safety 2. Fast 3. Expressive(Clarity) : 코드를 더 쉽게 읽고 다룰 수 있게 해줌. 스위프트가 안전한 언어라고 할 수 있는 이유 Explicit object "types" : 타입이 잘못 작성된 경우 미리 에러를 줌으로써 프로그램 실행 후 crash가 나지 않도록 함 (type safety) Type inference: 주어진 정보로부터 타입을 알아서 추론함. 개발 속도를 올리고 컴파일러가 흔히 발생하는 이슈를 확인하는데 도움을 줌 Optionals: 값이 존재하지 않을 수도 있을 때를 표현하는 새로운 방법 Error handling: 개발자가 더 버그를 적게 내도록 도움

빅오 표기법 존재의 이유

이 소프트웨어의 규모가 커질까? 규모가 커질거라 예상이 된다면 확장성을 미리 갖춰야 한다는 뜻일것이다. 여기서 확장성(Scalability)이란, 아키텍처 입장에서는 앱을 쉽게 변경할 수 있음을 의미하고, 데이터베이스에서는 데이터를 저장하거나 검색하는데 걸리는 시간을 의미한다. 데이터의 양에 따라서 같은 알고리즘이라도 실행 시간과 메모리 사용량이 다르게 나타나는데 이것을 수량화 하는 기술이 Big O 표기법이다. 실행 시간과 메모리 사용은 각각 시간 복잡도와 공간 복잡도로 나타낼 수 있다. 시간과 공간 복잡도는 확장성 측정의 상위 척도이다. 복잡성의 형태를 나타내는 방법으로 빅오 표기법을 사용하는 것이지 실제 속도나 메모리 사용량을 측정하는 것이 아니다. 시간 복잡도(Time complexity) 데이터..

데이터 구조와 알고리즘을 왜 배워야 할까?

머릿말에서는 배우지 않아도 크게 손해볼 것 같지 않은 느낌이었지만 이번 장에서는 배우지 않으면 매우 손해볼 것 같은 느낌을 주고있다^^ 1. 우선 면접때 꼭 한 두개씩의 알고리즘 질문이 있다는 것. 2. 올바른 알고리즘과 적절한 데이터 구조를 선택함으로써 더 나은 성능을 발휘할 수 있다는 것. 3. 알고리즘이 사용하는 전략을 알면 코드 개선 아이디어를 얻을 수 있어서 자기 계발에 도움이 될 것. 음악가가 음계를 연습하는 것과 유사하며 기초가 단단할수록 더 복잡한 소프트웨어를 다루는데 능숙해진다는 것. 책에 나온 문제를 스스로 충분히 고민한 후 솔루션을 확인할 것을 권장하고 있다. 책은 크게 다섯개의 섹션으로 구성되어 있단다. 1. 소개 2. 기본 데이터 구조 3. 트리 4. 정렬 5. 그래프 모두 이해하..