Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩

Algorithm Study8

SQL 기초 문법 1. SELECT SELECT * #컬럼 FROM sample #테이블명 LIMIT 10 #몇 행 테이블에서 데이터 추출 * 아스타 -> 모든 항목, 혹은 특정 컬럼명(ex price) 선택 가능 2. ORDER BY 오름차순 정렬 SELECT * FROM product_list ORDER BY price #가격 열 오름차순 LIMIT 100 내림차순 정렬 SELECT * FROM product_list ORDER BY price DESC #가격 열 내림차순 LIMIT 100 여러 조건 정렬 SELECT * FROM product_list ORDER BY year, month, day LIMIT 100 3. count 테이블 행의 개수 SELECT COUNT(*) FROM sales_list 4. GRO.. 2023. 9. 24.
[python3] 정수를 나선형으로 배치하기 (프로그래머스) 문제만 읽으면 아 그렇구나~ 했는데 막상 코드로 옮기려니 머리가 아팠다. 2차원 배열에 아직 익숙하지 않아서 row col 이러다가 으아아아ㅏㅏ 하고 말았던.. 관련 풀이를 많이 찾아봤는데 여전히 너무 복잡한 풀이 방식이었고 가장 괜찮은 풀이법을 찾아서 정리해보려고 한다. 입출력 예시를 보면 행, 열을 표로 그려놨는데, 여기서 행을 i, 열을 j라고 하자. 첫번째 칸에는 1이 들어간다. 이 숫자는 n *n의 값에 도달할 때 까지 계속 1씩 증가한다. -> cnt라는 변수로 만들자. cnt의 증가를 따라가보면 우측으로 가다가, 마지막 열에 닿았을 때 아래로 내려가고, 마지막 행에 닿았을 때 왼쪽으로 이동하고 맨 처음 열에 닿으면 위로 올라간다. ➡️ ⬇️ ⬅️ ⬆️의 순서인 것이다. (이동의 순서가 있고,.. 2023. 9. 14.
Linked List 연결 리스트 / Queue 큐 / Stack 스택 Linked List란? 'Node' 구조체가 연결되는 형식으로 데이터를 저장하는 자료구조이다. 노드(Node)에는 데이터 값 + 다음 노드의 주소값이 저장되어 있다. (양방향 링크드 리스트의 경우 노드에서 이전 노드의 주소값도 가지고 있음.) Array List의 경우 데이터의 연속성을 유지하기 위해서 메모리에 순차적으로 데이터를 저장했지만, 연결 리스트는 다음 노드의 주소 정보를 통해서 연결되어 있기 때문에 물리적으로는 비연속적이지만, 논리적으로는 연속성을 유지하고 있다. -> Array List는 데이터가 메모리에 쫙 붙어 있지만, Linked List는 메모리상에서 연속성을 유지하지 않아도 되기 때문에 (메모리 내에서 노드가 따로 따로 떨어져 있기 때문에) 메모리 공간의 사용이 더 자유롭다. 하지.. 2023. 7. 12.
기본개념) 자료구조, 알고리즘, List, 선택정렬, 병합정렬 # ⭐️ Abstract Data Type(추상적 자료형_ ADT) ''' 문제를 해결하기 위해 필요한 '자료의 형태 및 연산을 수학적으로 정의'한 모델 ex.집합, 리스트, 스택, 큐, 트리 등 vs Data Structrue(자료 구조) 추상적 자료형에서 정의한 연산들을 '구현한' 구현체 ex. 배열, 연결 리스트 등 알고리즘 반복되는 문제를 해결하기 위한 일련의 절차나 방법 ex. 정렬, 이진 탐색 등 ''' # ⭐️ 시간 복잡도와 공간 복잡도 ''' 시간 복잡도(Time Complexity) 알고리즘이 실행되는 데 소요되는 시간을 측정. 주어진 입력 크기에 따라 얼마나 빠르게 실행되는지? 주로 Big O(빅오) 표기법을 사용해서 표현하며, 알고리즘의 성능을 나타냄. 일반적으로 시간 복잡도가 작을수.. 2023. 7. 5.
[Swift] 백준 1000번 A+B 터피의 야금야금 알고리즘 import Foundation let input = readLine()! let result = print(input.components(separatedBy: " ").map { Int($0)!}.reduce(0, +)) 입력값을 공백을 기준으로 나눌 때 .split을 쓸 수도 있는데, .split은 Swift 표준 라이브러리에 있어서 import Foundation을 안 해도 되는 장점이 있다. 또한 separator 이외에 다양한 파라미터가 존재한다. return 타입은 [SubString]이다. .components는 import Foundation이 필요하다. 파라미터는 separatedBy 딱 하나다. return 타입은 [String]이다. 이 문제에서는 정수리터럴.. 2023. 4. 13.
0단계🐥 - 짝수의 합 고차함수를 활용할 수 있다. import Foundation func solution(_ n:Int) -> Int { (1...n).filter { $0 % 2 == 0}.reduce(0, +) // (1...n).filter { $0 % 2 == 0}.reduce(0) { $0 + $1 } } n이 정수이기 때문에 1부터 n까지 .filter를 활용해 짝수 배열을 만든다. (filter는 배열을 return하니) 해당 짝수배열에서 .reduce를 통해 합을 구한다. 주석 처리된 부분의 형태를 많이 접했었는데 .reduce(0, +)와 같이 연산자를 활용할 수도 있다. 2023. 4. 4.