일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 힙
- 코딩테스트
- 문자열
- django
- 동적계획법
- graph
- 카카오 기출
- 그래프
- heap
- 백준
- 탐욕법
- BFS
- 정렬
- DP
- Code Refactoring
- 완전탐색
- Dynamic Programming
- Algorithm
- Greedy
- 프로그래머스
- DFS
- binary search
- Queue
- programmers
- string
- DVWA
- 알고리즘
- Brute Force
- sort
- 큐
- Today
- Total
목록Algorithm (57)
생각과 고민이 담긴 코드
문제 https://programmers.co.kr/learn/courses/30/lessons/72412
문제 https://programmers.co.kr/learn/courses/30/lessons/64065 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr 풀이 def solution(s): answer = [] s_list = [] nums=[] temp_nums = "" for i in s: if i.isdigit(): temp_nums += i elif i == ',': if temp_nums: nums.append(int(temp_nums)) temp..
문제 : https://programmers.co.kr/learn/courses/30/lessons/67257 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr 풀이 from itertools import permutations def solution(expression): answer = [] operators = ["+", "*", "-"] cases = list(permutations(operators, 3)) # 3!의 경우의 수. for case in cases: temp_expression = ex..
문제 : https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 풀이 def solution(numbers, hand): answer = '' key_pad = [[1, 2, 3], [4, 5, 6], [7, 8, 9], ['*', 0, '#']] left_side = [1, 4, 7] right_side ..
문제 : https://programmers.co.kr/learn/courses/30/lessons/81302 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 풀이 def solution(places): answer = [] global d..
문제 : https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 풀이 def solution(new_id): target = "0123456789abcdefghijklmnopqrstuvwxyz-_." new_id = list(new_id) i = 0 j = 0 dot_cnt = 0 while i < len(new_id): # 1, 2단계 new_id[i] = new_id[i].lower() if new_id[..
문제 : https://programmers.co.kr/learn/courses/30/lessons/77484 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 풀이 def solution(lottos, win_nums): answer = [] rank = [6, 5, 4, 3, 2, 1] match = 0 unknown = 0 for lotto in lottos: if lotto == 0: unknown += 1 continue for win_num in win_..
문제 : https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 풀이 import sys n = int(sys.stdin.readline()) city_map = [] result = [] global cnt cnt = 0 for _ in range(n): temp = list(sys.stdin.readline()) temp.pop() city_map.append(temp) def dfs(row, col): global cnt cnt += 1 city_..