
문제 programmers.co.kr/learn/courses/30/lessons/12929 코딩테스트 연습 - 올바른 괄호의 갯수 올바른 괄호란 (())나 ()와 같이 올바르게 모두 닫힌 괄호를 의미합니다. )(나 ())() 와 같은 괄호는 올바르지 않은 괄호가 됩니다. 괄호 쌍의 개수 n이 주어질 때, n개의 괄호 쌍으로 만들 수 있는 모 programmers.co.kr 문제 상황 - 괄호쌍의 개수를 입력받아 만들 수 있는 서로 다른 괄호쌍의 종류의 수를 출력한다. 해결 전략 - 1, 2, 5, 14, 42로 증가하는 전형적인 카탈랑수 문제이다. 코드 1 2 3 4 5 6 def factorial(n:int) -> int: if n == 1: return 1 return n*factorial(n-1)..

문제 programmers.co.kr/learn/courses/30/lessons/42628 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr 문제 상황 - operations를 순회하며 명령어가 "I 숫자" 이면 큐에 숫자를 삽입하고, "D 1"은 큐에서 최댓값을 삭제하며 "D -1"은 큐에서 최소값을 삭제한다. 해결 전략 - 문제는 파이썬에는 최소힙만 구현이 되어있고 최대힙이 구현되어있지 않다. 즉, 최소값을 삭제하는 것은 O(1)로 가능하지만 최대값은 그럴 수 없다. 그래서 python의 heapq의 내장함수인 nlargest를 활용한다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 def solution(operations:list) -> list: import heapq..

문제 www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 문제 상황 - 주어진 입력값들의 산술평균, 중앙값, 최빈값, 범위를 구하는 문제이다. 해결 전략 - 단순한 계산문제이지만 최빈값을 어떻게 구하는지의 문제가 있다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 from collections import Counter from sys import stdin input = stdin.readline n = int(..

문제 www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 문제 상황 - 10억 이하의 수를 입력받아 그 자리수를 내림차순으로 정렬한 결과를 반환한다. 해결 전략 - 입력받은 숫자를 str로 만들고 그 리스트를 역순 정렬하여 합치고 반환한다. 코드 1 2 from sys import stdin print(''.join(sorted(list(stdin.readline().strip()),reverse=True))) cs 해설 - 자리수가 아니라 범위가 10억 이하이므로 길이가 10자리 이하를 정렬하는 문제이다. 만약 자리수가 10억자리 이하였으면 cou..

문제 www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 문제 상황 - 체스판 색깔이 백, 흑이 반복되어야 하는데 8이상, 50이하 길이의 판이 주어질 때 최소의 색칠로 8 by 8 체스판을 만들 경우의 최소 색칠 수를 반환한다. 해결 전략 - 우선 시작 행, 시작 열을 입력 했을 때 8 by 8 판에 해야 할 색칠의 수를 반환하는 함수를 만들고, 판의 가장 왼쪽 가장 위의 지점을 이동시키며 모든 경우를 탐색한다. 코드 1 2 3 4 5 6 7 8 9 1..

문제 programmers.co.kr/learn/courses/30/lessons/12980 코딩테스트 연습 - 점프와 순간 이동 OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈 programmers.co.kr 문제 상황 - 연료를 사용하여 점프를 하거나, 연료 사용없이 지금까지 이동해온 거리만큼 순간이동을 하여 움직이는데 목표점을 정확히 도착하는데 최소의 연료로 도착할 때 연료 소비량을 계산한다. 해결 전략 - 최대한 2배가 되는 것을 활용해야 하고 점프를 최소화 해야한다. 역으로 생각하여 2배로 이동하는 것을 최대로 활용하기 위해 주어진 n을 2로 나..

문제 programmers.co.kr/learn/courses/30/lessons/12985 코딩테스트 연습 - 예상 대진표 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N programmers.co.kr 문제 상황 - 1번부터 n번까지 사람이 게임을 진행한다고 할 때 a, b는 모든 게임에서 이긴다는 조건으로 게임을 진행한다. a와 b가 만날 때까지 진행된 게임의 수를 계산한다. 해결 전략 - 주어진 수를 2로 나누며 같아질 때까지 반복하여 그 횟수를 출력한다. 코드 1 2 3 4 5 6 7 8 9 def solution(n,a,b): cnt =..

문제 programmers.co.kr/learn/courses/30/lessons/17682 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 문제 상황 - 3번의 다트 게임을 시행하는데 총 점수를 계산한다. 점수 계산법은 S,D,T와 #, * 를 활용한다. 해결 전략 - 정규 표현식을 사용하면 편할 수 있을 것 같지만 문제의 난이도가 낮아 단순한 문자열 탐색으로 가능하다. 문자열을 순회하며 게임 하나의 케이스로 판별하는 조건을 정의하여 게임의 점수를 계산해 나간다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 def get_score(dart:str) -> int: if dart[-1] ..
- Total
- Today
- Yesterday
- 섬의개수#백준알고리즘#Python
- 병든 나이트#BOJ#탐욕법#Python
- N으로 표현#DP#Programmers#Python
- 날짜 계산#BOJ#완전탐색#Python
- 순열사이클#BOJ#Python
- 반복수열#백준알고리즘#Python
- 터틀비치#리콘#xbox#controller
- 랜선자르기#이분탐색#BOJ#Python
- API#lazy#
- Triangle#Sorting#Codility#Python
- Distinct#Codility#Python
- 토마토#백준알고리즘#Python
- 미로 탐색#백준알고리즘#Python
- 백준 알고리즘#BackTracking
- 나무자르기#BOJ#이분탐색#Python
- 배열합치기#분할정복#BOJ#Python
- 파이썬알고리즘인터뷰#4장
- PassingCars#Codility#Python
- Brackets#Stacks and Queues#Codility#Python
- django#slicing
- 리모컨#완전탐색#BOJ#Python
- django
- 공유기 설치#BOJ#이분탐색#Python
- filter#isalnum#lower
- NumberofDiscIntersections#Codility#Sort#Python
- 암호코드#dp#BOJ#Python
- 쿼드트리#BOJ#분할정복#Python
- 텀 프로젝트#백준알고리즘#Python
- Swift#Tuples#Range
- 종이자르기#분할정복#BOJ#Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |