[백준 11650] 좌표 정렬하기 (Python)

문제 링크 https://www.acmicpc.net/problem/11650 개요 배열 형태의 자료들을 정렬하는 간단한 문제이다. 파이썬에서는 내장 함수 sort()를 사용하면 쉽게 풀 수 있다. 문제 해설 문제에서 요구하는 것은 x좌표 값과 y좌표 값으로 구성된 배열들의 리스트를 x 값, y 값 순으로 정렬하는 것이다. 배열의 자료구조는 인덱싱으로 접근이 가능한 것이면 아무거나 상관없기에 좌표 표현에 직관적인 튜플을 사용한다. 정렬의 기준이 반대였으면 람다 식을 써야겠지만 좌표의 위치가 곧 정렬 순서이기 때문에 Key값은 사용하지 않는다. 해설 코드 1 2 3 4 5 6 7 8 9 10 import sys input = sys....

March 23, 2022 · 1 min · 98 words · minyeamer

[백준 4949] 균형잡힌 세상 (Python)

문제 링크 https://www.acmicpc.net/problem/4949 개요 스택을 이용하여 풀 수 있는 문제이다. 문자열 처리에 관한 능력이 추가로 요구된다. 최대 입력 크기가 정해지지 않았기에 시간 복잡도는 무시한다. 문제 해설 해당 문제에서 고려해야할 문자는 종료 조건인 점(’.’)을 제외하면 소괄호와 대괄호 뿐이다. 균형잡힌 문장의 구분 여부는 1. 닫힌 괄호가 열린 괄호보다 앞에 나온 경우 2. 열린 괄호가 안 닫힌 경우로 판단했다. 문자 하나하나마다 확인하며 괄호를 골라낼 수도 있지만 이번엔 정규식을 사용해본다. 우선 정규식 라이브러리인 re에 속한 sub 메서드를 사용해 괄호를 제외한 모든 문자를 제거한다....

March 22, 2022 · 2 min · 239 words · minyeamer

[백준 2164] 카드2 (Python)

문제 링크 https://www.acmicpc.net/problem/2164 개요 큐를 이용하여 풀 수 있는 간단한 문제이다. 양쪽에서 데이터를 빼고 집어넣는 작업이 요구되기 때문에 deque의 사용을 권장한다. 1번 카드의 위치를 앞으로 하냐 뒤로 하냐는 크게 상관없기 때문에 앞에서부터 정의하겠다. 문제 해설 문제에서 제시된 행동은 1. 제일 위의 카드를 버린다 2. 제일 위에 남은 카드를 제일 아래로 옮긴다 이다. 해당 행동을 카드가 한 장이 남을 때까지 무한히 반복하면 된다. 1번 행동을 하기 위해선 1번 카드를 큐의 맨 앞으로 정했기에 큐의 왼쪽에서 값을 빼내면 된다....

March 22, 2022 · 2 min · 235 words · minyeamer

[Index] Solved Problems

References Name Link HackerRank https://www.hackerrank.com/domains/sql Leetcode https://leetcode.com/problemset/all/ Programmers https://school.programmers.co.kr/learn/challenges Baekjoon https://www.acmicpc.net/ solved.ac https://solved.ac/ Big-O List minyeamer/references/big-o.md Math Reference Number Level Problem Name Subcategory Problem Link Solution Link Programmers 60059 Lv3 🥇 자물쇠와 열쇠 Matrix Link Link Programmers 17687 Lv2 🥈 n진수 게임 Link Link Programmers 12977 Lv1 🥉 소수 만들기 Combination Link Link Baekjoon 1010 Silver 🥈 다리 놓기 Combination Link Link Baekjoon 1463 Silver 🥈 1로 만들기 Link Link Baekjoon 1676 Silver 🥈 팩토리얼 0의 개수 Link Link Baekjoon 2108 Silver 🥈 통계학 Link Link Baekjoon 1049 Silver 🥈 기타줄 Link Link Baekjoon 2475 Bronze 🥉 검증수 Link Link Baekjoon 2609 Bronze 🥉 최대공약수와 최소공배수 Combination Link Link Baekjoon 11050 Bronze 🥉 이항 계수 1 Combination Link Link String Reference Number Level Problem Name Subcategory Problem Link Solution Link Programmers 60057 Lv2 🥈 문자열 압축 Link Link Programmers 72410 Lv1 🥉 신규 아이디 추천 Regular Expression Link Link Baekjoon 22859 Gold 🥇 HTML 파싱 Regular Expression Link Link Baekjoon 15829 Bronze 🥉 Hashing Hashing Link Link Hash Table Reference Number Level Problem Name Subcategory Problem Link Solution Link Programmers 42577 Lv2 🥈 전화번호 목록 Link Link Programmers 42578 Lv2 🥈 위장 Set Link Link Programmers 42888 Lv2 🥈 오픈채팅방 Link Link Programmers 1845 Lv1 🥉 폰켓몬 Link Link Programmers 42576 Lv1 🥉 완주하지 못한 선수 Counter Link Link Programmers 92334 Lv1 🥉 신고 결과 받기 Dictionary Link Link Programmers 81301 Lv1 🥉 숫자 문자열과 영단어 Dictionary Link Link Baekjoon 1620 Silver 🥈 나는야 포켓몬 마스터 이다솜 Dictionary Link Link Baekjoon 1764 Silver 🥈 듣보잡 Set Link Link Baekjoon 1920 Silver 🥈 수 찾기 Set Link Link Baekjoon 10816 Silver 🥈 숫자 카드 2 Counter Link Link Stack/Queue Reference Number Level Problem Name Subcategory Problem Link Solution Link Programmers 17680 Lv2 🥈 캐시 Deque Link Link Baekjoon 5430 Gold 🥇 AC Deque Link Link Baekjoon 1874 Silver 🥈 스택 수열 Stack Link Link Baekjoon 1966 Silver 🥈 프린터 큐 Deque Link Link Baekjoon 2164 Silver 🥈 카드2 Queue Link Link Baekjoon 4949 Silver 🥈 균형잡힌 세상 Stack Link Link Baekjoon 9012 Silver 🥈 괄호 Stack Link Link Baekjoon 10773 Silver 🥈 제로 Stack Link Link Baekjoon 10828 Silver 🥈 스택 Stack Link Link Baekjoon 10845 Silver 🥈 큐 Queue Link Link Baekjoon 10866 Silver 🥈 덱 Deque Link Link Baekjoon 11866 Silver 🥈 요세푸스 문제 0 Stack Link Link Heap Reference Number Level Problem Name Subcategory Problem Link Solution Link Baekjoon 7662 Gold 🥇 이중 우선순위 큐 Guidance Link Link Baekjoon 1927 Silver 🥈 최소 힙 Guidance Link Link Sorting Reference Number Level Problem Name Subcategory Problem Link Solution Link Leetcode 1337 Easy 🥉 The K Weakest Rows...

March 22, 2022 · 6 min · 1187 words · minyeamer

Big-O List

List Operation Example Big-O Index l[i] O(1) Store l[i] = 0 O(1) Length len(l) O(1) Append l.append(x) O(1) Pop l.pop() O(1) Slice l[a:b] O(b-a) Construction list(x) O(len(x)) Check l1 == l2 O(len(n)) Insert l[a:b] = x O(n) Containment x in l O(n) Copy l.copy() O(n) Remove l.remove() O(n) Count l.count(x) O(n) Index l.index(x) O(n) Pop l.pop(i) O(n) Extreme value min(l)/max(l) O(n) Iteration for v in l: O(n) Reverse l.reverse() O(n) Sort l....

March 20, 2022 · 2 min · 306 words · minyeamer