Loading...
2022. 11. 7. 15:29

deque도 인덱스로 접근해서 원소 수정이 가능하다 -컨베이어 벨트 위의 로봇-

1. 문제 https://www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 컨베이어 벨트 위에 로봇을 올릴때, 로봇이 움직이면서 칸의 내구도가 점차 감소한다 몇단계가 지나야 컨베이어 벨트 작동이 멈추는지 구해보자 2. 풀이 문제를 먼저 잘 이해해야겠다 1번부터 2n번까지 있는데 1번이 "올리는 위치"이고 n번이 "내리는 위치"라고 한다 그러면서 마치 2n번으로 오면 1번으로 올라오고 n번으로 가면 n+1번으로 내려가는 듯한 인상을 주는데...

deque를 이용하면 회전이 가능하다 -보물상자 비밀번호-

1. 문제 5658 [모의 SW 역량테스트] 보물상자 비밀번호 SW Expert Academy SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 16진수의 배열이 주어지고, 사각형의 각 변에 동일한 개수만큼 수들이 놓여있다. 그러한 개수만큼 모아 비밀번호를 만들고, 이들을 1회전씩 수행하면서 비밀번호를 계속 생성해나간다 k번째로 큰 비밀번호를 찾는다면? 2. 풀이 SWEA의 A형 수준? SW 역량테스트는 결국 문제에서 요구하는대로 성실하게 구현하면 되는 것 같다 대부분 구현, 완전탐색, 시뮬레이션 이런 느낌? 먼저 사각형의 각 변에 동일한 개수만큼 숫자가 놓여있으며, 회전해야하므로 rotate()를 이용하기 위해..

2022. 6. 29. 02:44

코딩테스트를 위한 스택과 큐 기본 이론

1. 탐색(search) 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정 코딩테스트를 통과하기 위해 그래프, 트리 등의 자료구조 안에서 탐색을 할줄 알아야한다 이를 위한 대표적인 탐색 알고리즘이 바로 DFS/BFS 2. 자료구조 데이터를 표현하고 관리하고 처리하기 위한 구조 스택(stack)과 큐(queue)는 자료구조의 기초 개념 3. 스택과 큐에서 고려해야할 부분 스택과 큐는 자료구조의 기초 개념으로 다음의 두 핵심적인 함수로 구성 삽입(push): 데이터를 삽입한다 삭제(pop): 데이터를 삭제한다 실제 스택과 큐를 사용할 때는 삽입과 삭제 외에도 오버플로우와 언더플로우도 고민해야함 오버플로우(overflow): 특정한 자료구조가 수용할 수 있는 데이터의 크기를 이미 가득 찬 상태에서 삽입 연산..

2022. 6. 24. 03:02

DFS/BFS 완전 정복하기 - 트리구조를 탐색하는 방법

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/43164 코딩테스트 연습 - 여행경로 [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]] ["ICN", "ATL", "ICN", "SFO", "ATL", "SFO"] programmers.co.kr 주어진 항공권을 모두 이용하여 여행경로를 짜려고 합니다. 항상 "ICN" 공항에서 출발합니다 항공권 정보가 담긴 2차원 배열 tickets가 매개변수로 주어질 때, 방문하는 공항 경로를 배열에 담아 return하도록 solution함수를 완성하세요 2. 제한사항 모든 공항은 알파벳 대문자 3글자 주어진 공항 수는 3개..

2022. 1. 26. 20:37

그래프 알고리즘 문제의 기본 스킬1

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/86971 코딩테스트 연습 - 전력망을 둘로 나누기 9 [[1,3],[2,3],[3,4],[4,5],[4,6],[4,7],[7,8],[7,9]] 3 7 [[1,2],[2,7],[3,7],[3,4],[4,5],[6,7]] 1 programmers.co.kr n개의 송전탑이 전선을 통해 하나의 트리형태로 연결되어 있습니다. 당신은 이 전선들 중 하나를 끊어서 현재의 전력망 네트워크를 2개로 분할하려고 합니다. 이 때, 두 전력망이 갖게 되는 송전탑의 개수를 최대한 비슷하게 맞추려고 합니다. 송전탑의 개수 n, 그리고 전선 정보 wires가 매개변수로 주어집니다. 전선들 중 하나를 끊어서 송전탑 개수가 가능한..

2022. 1. 12. 22:56

코딩테스트에서 유용한 Counter와 deque

1. Counter 시퀀스 타입 데이터의 원소 개수를 dict형으로 반환해주는 아주 유용한 함수 from collections import Counter로 불러온다 집합 연산도 가능함 근데 큰 의미가 있을까? 리스트 내에서 개별 원소들의 빈도수를 세는 것에는 분명히 의미 있다 2. deque 스택과 큐를 동시에 구현한 자료형 from collections import deque로 불러온다 append, extend, pop 등을 모두 지원하는데 list가 $O(n)$이라면 deque는 $O(1)$이라는 점에서 유용하다 append로 오른쪽에 데이터를 넣어주고 appendleft로 왼쪽에 데이터를 넣어준다 extend로 오른쪽에 리스트 데이터를 넣어주고 extendleft로 왼쪽에 리스트 데이터를 넣어준다..