코딩한걸음
[프로그래머스] 할인 행사
Coding Test/Programers 2023. 8. 26. 09:00

https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 XYZ 마트는 일정한 금액을 지불하면 10일 동안 회원 자격을 부여합니다. XYZ 마트에서는 회원을 대상으로 매일 한 가지 제품을 할인하는 행사를 합니다. 할인하는 제품은 하루에 하나씩만 구매할 수 있습니다. 알뜰한 정현이는 자신이 원하는 제품과 수량이 할인하는 날짜와 10일 연속으로 일치할 경우에 맞춰서 회원가입을 하려 합니다. 예를 들어, 정현이가 원하는 제품이 바나나 3개, 사과..

[프로그래머스] 파일명 정렬
Coding Test/Programers 2023. 8. 25. 09:00

https://school.programmers.co.kr/learn/courses/30/lessons/17686 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 소스 파일 저장소에 저장된 파일명은 100 글자 이내로, 영문 대소문자, 숫자, 공백(" "), 마침표("."), 빼기 부호("-")만으로 이루어져 있다. 파일명은 영문자로 시작하며, 숫자를 하나 이상 포함하고 있다. 파일명은 크게 HEAD, NUMBER, TAIL의 세 부분으로 구성된다. HEAD는 숫자가 아닌 문자로 이루어져 있으며, 최소한 한 글자 이상이다. NUMBER는 한 글자..

[프로그래머스] 피로도
Coding Test/Programers 2023. 8. 24. 17:00

https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던전 탐험을 마쳤을 때 소모되는 "소모 피로도"가 있습니다. "최소 필요 피로도"는 해당 던전을 탐험하기 위해 가지고 있어야 하는 최소한의 피로도를 나타내며, "소모 피로도"는 던전을 탐험한 후 소..

article thumbnail
[자료구조] 배열 (Array)
CS/Algorithm 2023. 8. 23. 09:00

본 포스트는 필자가 학습하고 작성한 글이기 때문에 틀린 내용이 있을 수 있습니다. 배열 (Array) 배열은 연속된 메모리 공간에 순차적으로 저장된 데이터 모음이다. 종류 1차원 배열 : 가장 기본적인 형태의 배열로, 연속된 메모리 공간에 동일한 타입의 원소들을 저장한다. 다차원 배열 : 1차원 배열의 집합을 원소로 갖는 배열. 핵심 요소 원소 (Element) : 배열에 저장되는 각 항목을 의미 인덱스 (Index) : 각 원소의 위치를 나타내는 번호로, 0부터 시작 장점 인덱스를 통해 바로 원소에 접근 가능 연속된 메모리 공간에 데이터를 저장하기 때문에 메모리 사용이 효율적 단점 배열의 크기는 미리 정해져 있어, 크기를 변경하기가 어렵다. 중간에 데이터를 삽입하거나 삭제할 때, 데이터를 이동해야하므로..

[자료구조] 해시 테이블 (Hash Table)
CS/Algorithm 2023. 8. 22. 09:00

본 포스트는 필자가 학습하고 작성한 글이기 때문에 틀린내용이 있을 수 있습니다. 해시 (Hash) 해시는 데이터를 다른 데이터로 매핑하는 프로세스를 의미한다. 이를 위해 해시 함수를 사용하여 어떤 값을 고정된 크기의 값으로 변환한다. 해시 함수 (Hash Funtion) 입력 받은 값을 '일정한 길이의 해시 값'으로 변환 동일한 입력 값에 대해서는 항상 동일한 출력 값(해시 값 or 해시 코드)을 반환 작은 입력 값의 변화에도 출력 값이 크게 바뀐다(높은 민감도) 해시 테이블 (Hash Table) 해시 테이블은 키와 값의 쌍을 저장하는 데이터 구조다. 핵심 요소 키 (Key) : 유일한 값으로, 해시 함수를 통해 해시 값으로 변환 해시 함수 (Hash Funtion) : 키를 받아 해시 값을 반환하는 ..

article thumbnail
[자료구조] 힙 (Heap)
CS/Algorithm 2023. 8. 21. 09:00

본 포스트는 필자가 합습하고 작성한 글이기 때문에 틀린 내용이 있을 수 있습니다. 참고 : https://maneeshaindrachapa.medium.com/heap-data-structure-in-golang-98641a32d2e3 힙 (Heap) 개요 힙은 완전 이진 트리 (Complete Binary Tree)의 일종으로 주로 우선순위 큐 (Priority Queue)를 구현하는데 사용 종류 최대 힙 (Max Heap) : 부모 노드의 키 값이 자식 노드의 키 값보다 항상 크거나 같은 트리 최소 힙 (Min Heap) : 부모 노드의 키 값이 자식 노드의 키 값보다 항삭 작거나 같은 트리 장점 루트 노드에서 쉽게 가장 높은(최대 힙) 또는 가장 작은(최소 힙) 원소에 접근 가능하다. 동적으로 크기..

article thumbnail
[자료구조] 스택 (Stack)
CS/Algorithm 2023. 8. 20. 19:00

본 포스트는 필자가 학습하고 작성한 글이기 때문에 틀린 내용이 있을 수 있습니다. 스택 (Stack) 개요 데이터를 저장하는 기본적인 자료 구조 중 하나로, 선입후출(LIFO: Last In, First Out)의 특성을 가진다. 즉, 마지막에 추가된 항목이 가장 먼저 제거된다. 장점 구현이 간단하다. 데이터의 추가와 삭제의 시간 복잡도가 O(1)이다. 단점 스택의 크기가 고정된 경우, 스택 오버플로우(스택이 가득 참)나 스택 언더플로우(스택이 비어 있음)가 발생할 수 있다. 스택의 중간 데이터에 접근하기 어렵다. 주요 연산 push : 스택의 맨 위에 새로운 항목을 추가합니다. pop : 스택의 맨 위 항목을 제거하고 반환합니다. peek or top : 스택의 맨 위 항목을 확인하되 제거하진 않습니다..

[프로그래머스] N개의 최소공배수
Coding Test/Programers 2023. 8. 17. 09:00

https://school.programmers.co.kr/learn/courses/30/lessons/12953 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solutio..