코딩 테스트(10)
-
[Leetcode/Medium] 로그 파일 재정렬 (937. Reorder Log Files, Swift)
https://leetcode.com/problems/reorder-data-in-log-files/description/ 🤔 문제 설명각 로그는 공백으로 구분된 단어 문자열이며, 여기서 첫 번째 단어는 식별자입니다.로그에는 문자 로그(식별자를 제외한 모든 단어는 소문자로 구성), 숫자 로그(식별자를 제외한 모든 단어는 숫자로 구성) 두 가지 유형이 있습니다.제공되는 로그 배열을 아래 규칙에 맞추어 재정렬하세요.문자로 구성된 로그는 모든 숫자 로그보다 앞에 와야 합니다.식별자는 순서에 영향을 끼치지 않지만, 문자가 동일한 경우에는 식별자에 따라 사전순으로 정렬합니다.단, 숫자 로그는 입력 순서대로 유지합니다.logs = ["dig1 8 1 5 1","let1 art can","dig2 3 6","let..
2024.06.29 -
[Programmers/Lv. 1] 크레인 인형뽑기 게임 (2019 KAKAO 개발자 겨울 인턴십, Python)
📎 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤔 문제설명, 제한사항, 입출력 예 "크레인 인형뽑기 게임"의 로직을 구현하는 문제다. 게임은 1x1 크기의 칸으로 이루어진 NxN 크기의 정사각 격자로 이루어진 화면에서 이루어지며, 위쪽에 인형을 잡기 위한 크레인과 크레인으로 잡은 인형을 담을 별도의 바구니가 있다. 모든 인형은 1x1 크기의 격자 한 칸을 차지하며, 격자 아래 칸부터 차곡차곡 쌓여있는 모습을 띤다. 사용자는 크레인을 좌우로 움직여서 가장 위에 있는 인형을 하나 집어 올릴 수 있으며, 이 집어 올린 인형은 바구니의 가장 아래 칸부터..
2023.11.06 -
[Programmers, Lv.3] 코딩테스트 고득점 Kit - 그래프 (1), 기본 개념, BFS/DFS + 가장 먼 노드 (Python)
📊 그래프가 뭔데? 그래프를 사전적으로 정의하면, "정점(노드)과 간선(엣지)으로 이루어진 자료구조"이다. 이 말을 이해하기 위해서는 정점(노드)은 뭔지, 간선(엣지)은 뭔지를 알아야 할 것이다. 설명해 보겠다. 노드(Node)는 예전 연결 리스트를 다루는 글에서 설명한 적이 있듯이, 하나의 데이터 단위를 나타내는 객체라고 이해하면 된다. 아래와 같이 SNS 구조를 나타내는 그래프가 있다고 했을 때, 영훈, 현승, 동욱과 같이 한 유저가 그래프 구조 안에서 하나의 노드라고 설명할 수 있겠다. 간선(엣지, Edge)는 그래프 내에서 두 노드 간의 연결 관계를 나타내는 데이터를 의미한다. 쉽게 설명해서 연결선. 그래서 두 노드 사이에 엣지가 있으면, 이때는 "두 노드는 인접해 있다."라고 표현하게 된다. 엣..
2023.09.24 -
[Programmers, Lv.2] 코딩테스트 고득점 Kit - 해시 (2) (Python)
1. 전화번호 목록 (Level 2) (문제 설명, 제한사항, 입출력 예) 전화번호부에 적힌 전화번호를 담은 배열 phone_book이 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를, 그렇지 않으면 true를 반환하라는 문제이다. 각 전화번호의 길이는 1 이상 20 이하이며, 같은 전화번호가 중복해서 들어있지는 않다고 한다. (내가 생각한 풀이 과정) phone_book 리스트에 담겨있는 전화번호를 하나씩 반복한다. 반복되는 요소와 바로 다음 요소를 비교할 건데, 접두어를 비교해야 하므로 해당 반복 요소 인덱스 i의 길이만큼 슬라이싱 후 비교한다. 만약, 두 글자가 같다면 접두어가 같다고 판단할 수 있다. -> False 반환 반복을 끝까지 해도 조건에 걸리지 않는다면, 같은 ..
2023.09.12 -
[Programmers/Lv. 2] 삼각 달팽이 (월간 코드 챌린지 시즌1, Python)
📎 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤔 문제설명, 제한사항, 입출력 예 정수 n이 매개변수로 주어질 때, 그림과 같은 밑변의 길이와 높이가 n인 삼각형에 맨 위 꼭짓점부터 반시계 방향으로 달팽이 채우기를 진행한다. 첫 행부터 마지막 행까지 모두 순서대로 합친 새로운 배열을 구하라는 문제이다. 🤔 내가 생각한 풀이 과정 나는 아래와 같은 순서를 가지고 문제를 해결하려 했다. 값을 넣을 2차원 배열을 만든다. -> 배열에 들어가는 최댓값을 구한다.(n=4일 때 10, n=5일 때 15) -> 1부터 구한 최댓값까지 반복하면서 올바른 행, ..
2023.08.15