Dev 썸네일형 리스트형 [Swift] 구조체 (Structure) | 타입 프로퍼티 (Type Property) | 타입 메서드 (Type Method) 구조체 (Structure) 데이터 타입을 정의함 👉 대문자 CamelCase를 사용 프로퍼티와 메서드로 구성 프로퍼티: 구조체 내에 정의되어 있는 변수 메서드: 구조체 내에 정의되어 있는 함수 다른 언어의 클래스와 유사한 개념 만약 구조체의 인스턴스를 불변 인스턴스(let)로 생성한다면, 그 안에 있는 변수값들도 변경이 불가능! 메소드 호출은 가능함! struct 구조체명 { // 구현부 } 타입 프로퍼티(Type Property)와 타입 메서드(Type Method) 타입 자체가 사용할 수 있는 프로퍼티 및 메서드를 의미함 즉, 구조체에서 생성된 인스턴스가 아닌, 구조체 자체의 타입에서 사용할 수 있는 프로퍼티 / 메서드 static 키워드를 사용해서 정의함 static func 함수명() { . ... 더보기 [Swift] 옵셔널 (Optional) | 옵셔널 사용하는 방법 | 옵셔널 바인딩 (Optional Binding) | 강제 추출 (Force Unwrapping) 옵셔널이란? (Optional) 값이 있을 수도 있고, 없을 수도 있다는 개념 즉, nil의 가능성을 문서화하지 않고도 명시적으로 코드에서 표현할 수 있음 👉 시간 절약 예) 전달받은 값이 옵셔널이 아니라면 nil 체크를 하지 않더라도 안심하고 사용 👉 효율적이고 안전 // someOptionalParam can be nil func someFunction(someOptionalParam: Int?) { // ... } //someParam must not be nil func someFunction(someParam: Int) { // ... } someFunction(someOptionParam: nil) someFunction(someParam: nil) // 오류발생 - 옵셔널이 아닌 타입에는 n.. 더보기 [알고리즘] 소인수분해 | 프로그래머스 | 파이썬으로 소인수분해 하기 문제 설명 소인수분해란 어떤 수를 소수들의 곱으로 표현하는 것입니다. 예를 들어 12를 소인수 분해하면 2 * 2 * 3 으로 나타낼 수 있습니다. 따라서 12의 소인수는 2와 3입니다. 자연수 n이 매개변수로 주어질 때 n의 소인수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 2 ≤ n ≤ 10,000 입출력 예 n result 12 [2, 3] 17 [17] 420 [2, 3, 5, 7] 코드 def solution(n): i = 2 i_list = [] while i 더보기 [알고리즘] 탐색 | DFS (Depth-First Search) | 깊이 우선 탐색 | BFS (Breath First Search) | 너비 우선 탐색 | 스택, 큐, 재귀함수 탐색이란? 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정 프로그래밍에서는 그래프, 트리 등의 자료구조 안에서 탐색을 하는 문제를 자주 다룸 대표적으로 DFS 알고리즘과 BFS 알고리즘이 있음 이를 위해서는 기본 자료구조인 스택과 큐, 그리고 재귀함수에 대한 이해가 먼저 필요하기 때문에, 해당 내용을 간략하게 설명하도록 하겠음 # 01 스택(Stack) 데이터를 차곡차곡 쌓는 구조 LIFO (Last In First Out), FILO (First In Last Out) 파이썬에서는 list 자료형을 그대로 이용하면 됨 stack = [] stack.append(5) stack.append(2) stack.append(3) stack.append(7) stack.pop() stack.append(1).. 더보기 [알고리즘] 구현이란? | 아이디어를 코드로 바꾸는 방법 | 완전 탐색 | 시뮬레이션 | 상하좌우| 시각 | 왕실의 나이트 | 게임개발 구현이란? 코딩 테스트에서 구현이란 '머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정' 사실상 어떤 문제를 풀든 간에 소스코드를 작성하는 과정은 필수이므로, 구현 문제 유형은 모든 범위의 문제 유형을 포함하는 개념이라고 할 수 있음 따라서 흔히 말하는 구현문제는 '풀이는 떠올렸지만 소스코드로 옮기기는 어려운 문제를 뜻함'! ex) 알고리즘은 간단하나, 소스코드가 지나칠만큼 길어지는 문제 - 특정 소수점 자리까지 출력해야하는 문제 - 문자열이 입력으로 주어졌을 대 한 문자 단위로 끊어서 리스트에 넣어야 하는(파싱을 해야하는) 문제 등 ... 대체로 사소한 조건이 많을수록, 코드로 구현하기가 까다로움 대표적으로 구현 내에는 완전 탐색이나, 시뮬레이션 유형을 구현 유형으로 포함하기도 함 ✔ 완전 탐색: 모든 .. 더보기 [TIP/실험] lambda filter와 list comprehension의 속도 비교 | 프로그래머스 | n의 배수 고르기 프로그래머스에서 코딩 테스트 입문에 있는 'n의 배수 고르기' 문제를 풀다가 한 가지 의문이 생겼다 https://school.programmers.co.kr/learn/courses/30/lessons/120905 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr lambda를 이용한 리스트 내 요소 필터링이 빠를까 ? 리스트 컴프리헨션(list comprehension)을 통한 요소 선별이 더 빠를까? 어딜 찾아봐도 따로 설명해주는 포스트나 문서를 찾지 못해서 그냥 내가 실험해보기로 했다 ... 😵 우선 프로그래머스에서 마주한 문제는 다음과 같다 Q. 정.. 더보기 [알고리즘] 그리디 알고리즘이란? | Greedy Algorithm | 기초 예제 모음 (거스름돈, 큰 수의 법칙, 숫자 카드 게임, 1이 될 때 까지) 그리디 알고리즘이란? (a.k.a 탐욕법) 현재 상황에서 지금 당장 좋은 것만 고르는 방법 매 순간 가장 좋아보이는 것을 선택하며, 현재의 선택이 나중에 미칠 영향에 대해서는 고려하지 않음 다른 유형들에 비해 비교적 외우고 있지 않아도 풀 수 있는 문제이지만, 그래도 출제의 폭이 넓은 편에 속함 기준에 따라 좋은 것을 선택하는 알고리즘으로 ‘가장 큰’ 혹은 ‘가장 작은’ 이라는 키워드를 함께 제시하면서 정렬 알고리즘과 짝을 이뤄 출제됨 대부분의 문제는 그리디 알고리즘을 이용했을 때 ‘최적의 해’를 찾을 수 없을 가능성이 다분함 → 따라서 문제 풀이를 위한 아이디어를 떠올리면, 이것이 정당한지 검토할 수 있어야 함 → 정당하지 않다면, 추후에 배울 다이나믹 프로그래밍이나 그래프 알고리즘 등으로 문제를 해결.. 더보기 [python] 문자열에서 여러 문자 바꾸기 | 문자열 치환 | replace | transmake | translate | 정규표현식 | sub | re 프로그래머스에서 알고리즘 문제를 풀다보니까 문자열에서 특정 문자를 추출/치환해야 하는 경우가 많이 생긴다 생각보다 용도와 상황에 맞게 여러 개를 알아두는게 좋을 것 같다 물론 구글링해보면 잘 정리해둔 포스팅이 많이 나오지만, 내가 직접 정리하는게 가장 기억에 잘 남을 것 같아서 이렇게 포스팅하게 되었다 1. replace replace 함수는 문자열 변수에 .을 찍고 replace를 써줌으로써 사용할 수 있다 괄호 안에는 매개변수를 넣는데 - 첫 번째 매개변수: 어떤 문자열을 바꿀 것인가? - 두 번째 매개변수: 어떤 문자열로 바꿀 것인가? - 세 번째 매개변수: 몇 번 바꿀것인가? 더 자세한 사용 방법은 공식 문서를 참고하면 좋다 # ex-1 : replace의 기본적인 사용 형태 # hello를 by.. 더보기 이전 1 ··· 5 6 7 8 9 10 11 ··· 17 다음