코딩테스트(21)
-
[Leetcode/Easy] 문자열 뒤집기 (344. Reverse String, Swift)
https://leetcode.com/problems/reverse-string/description/ 🤔 문제 설명시간 복잡도 O(1)을 기준으로 해서 문자열을 뒤집는 함수를 작성하세요.단, 입력 문자열은 문자 배열로 주어지며, return 없이 리스트 내부를 직접 조작하는 방식으로 문제를 해결해야 합니다.["h","e","l","l","o"]# ["o","l","l","e","h"] 💡 풀이Swift의 기본 메서드(reversed)를 이용해서 아주 쉽게 해결할 수 있는 문제이다. 🧑🏻💻 코드 (Swift ver.)class Solution { func reverseString(_ s: inout [Character]) { s = s.reversed() }}
2024.06.28 -
[Programmers, Lv.2] 코딩테스트 고득점 Kit - 스택/큐 (2) (Python)
1. 올바른 괄호 (문제 설명, 제한사항, 입출력 예) 기호 "("와 ")"로만 이루어진 문자열이 주어졌을 때, 문자열이 올바른 괄호로 짝지어져 있으면 True를, 올바르지 않은 괄호로 짝지어져 있으면 False를 반환하라는 문제이다. 여기서 괄호가 올바르게 짝지어졌다는 것은 "(" 문자로 열렸으면, 반드시 ")" 문자로 닫히는 짝이 이루어져 있어야 한다는 것을 의미한다. (내가 생각한 풀이 과정) 문자열 s를 반복하면서 괄호를 체크한다. "("를 만나게 되면 카운트를 1 증가, ")"를 만나게 되면 카운드를 1 감소시켜 최종적으로는 카운트가 0이 되면 True를 반환한다. (-> 열린 괄호와 닫힌 괄호의 수가 같다는 것을 의미) 단, 여기서 추가적으로 열린 괄호가 없을 때 닫힌 괄호가 먼저 오는 경우를..
2023.09.22 -
[Programmers, Lv.1] 코딩테스트 고득점 Kit - 스택/큐 (1), Stack, Queue, Deque 개념 + 같은 숫자는 싫어
😳 스택 (Stack), 큐 (Queue), Deque 개념 살펴보기 스택 (Stack) : LIFO(후입선출), "나중에 들어온게먼저 나가는" 자료 구조이다. -> 파이썬에서는 리스트로 사용 가능! 큐 (Queue) : FIFO(선입선출), "먼저 들어온게 먼저 나가는" 자료 구조이다. -> 파이썬에서는 deque를 사용한다. Deque : double-ended Queue의 줄임말로, "양방향"에서 데이터를 처리할 수 있게 해주는 자료구조다. (스택과 큐의 기능이 모두 들어있다고 생각하면 됨!) 스택부터 파이썬 코드로 실전에서는 어떻게 활용할 수 있는지 살펴보자. 스택(Stack)은 위에서도 말했지만, 그냥 파이썬의 기본 자료형인 리스트(List)를 사용하면 된다. # 스택 (Stack) # 파이썬..
2023.09.21 -
[Programmers, Lv.2] 코딩테스트 고득점 Kit - 힙(Heap) (1), 더 맵게 (Python)
😳 힙(Heap) 기초 개념 간단하게 살펴보기 힙(Heap)이란? : "완전 이진트리"라는 형태적 속성과, "모든 노드의 데이터는 자식 노드들의 데이터보다 크거나 같다"는 힙 속성을 모두 만족시키는 자료구조이다. (즉, 힙을 이해하기 위해서는 트리를 먼저 알아야만 한다!) 그렇다면, 트리(Tree)란? : 데이터의 상-하 관계를 계층적으로 나타내는 자료구조이다. (말 그대로, 트리 모양을 생각하면 되겠다.)-> 맨 위에 있는 노드를 Root 노드, 트리 연결의 가장 마지막 노드를 Leaf 노드라고 부른다.-> 데이터의 상-하 관계를 부모 노드-자식 노드 관계라고 부르며, 같은 깊이에 있는 노드들끼리는 형제 노드라고 부른다. 트리의 종류는 어떤 것들이 있을까? 이진트리 (Binary Tree) : 각 노드..
2023.09.16 -
[Programmers/Lv. 1] 실패율 (2019 KAKAO BLIND RECRUITMENT, Python)
📎 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤔 문제설명, 제한사항, 입출력 예 실패율을 구하는 코드를 완성하라는 문제이다. 실패율은 다음과 같이 정의한다. "스테이지에 도착했으나, 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수" 전체 스테이지의 개수 N과, 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열이 같이 매개변수로 주어질 때, 실패율이 높은 스테이지부터 내림차순으로 스테이지의 번호가 담겨있는 배열을 구하라는 문제이다. 🤔 내가 생각한 풀이 과정 (1) - 런타임 에러 코드 문제에 나와있는 예시..
2023.08.24