일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ODQA
- 부스트캠프_AITech3기
- 최단경로
- 다이나믹프로그래밍
- 다시보기
- 그래프이론
- 알고리즘_스터디
- Level2
- 주간회고
- 이진탐색
- 구현
- Level2_PStage
- 백트랙킹
- 알고리즘스터디
- 그리디
- 파이썬 3
- 프로그래머스
- 단계별문제풀이
- 개인회고
- mrc
- python3
- 기술면접
- 백준
- Level1
- 이코테
- dp
- 부스트캠프_AITech_3기
- U_stage
- 정렬
- dfs
- Today
- Total
목록Level1 (43)
국문과 유목민
"이것이 코딩테스트다(나동빈 저)"에서 나온 문제에 대한 코드를 다루고 있습니다. 문제에 대한 구체적인 설명과 조건 등은 책을 참고해주시기 바랍니다. 소요시간: 12분 30초 1. 문제 설명 - 모험가 집단에서 공포도에 따라 그룹을 나눌 때 최소로 나눌 수 있는 그룹을 정한다. 2. 접근 방식 - 여행을 떠날 수 있는 최대 공포자의 수 공포도가 최대인 경우를 정하고(내림차순)으로 그 밑으로 공포도가 같거나 최대인 애들을 넣었었다. - 주어진 테스트 코스는 패스했지만, 후에 해답을 보니 나와는 다르게 '오름차순'으로 했다. 3. 코드 - 초기 코드_(내림차순 구현) from collections import deque def make_group(n, input_ls): q = deque(sorted(inp..
0. 문제 링크) 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 1. 알고리즘 계획 각 키패드의 규칙을 확인 (3으로 나눴을 때 나머지가 동일하게 나타난다.) 그 규칙을 토대로 배열의 행과 열 위치를 설정한다. Left규칙과 Right규칙을 설정한다. 만약 Mid에 위치한 번호를 누를 경우 '왼손과..
0. 문제 링크) https://programmers.co.kr/learn/courses/30/lessons/17682 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 1. 알고리즘 계획 ※ 일부 알고리즘을 검색함 - 초기에 방향성을 잡지 못해서, '정규식'에 대한 키워드를 검색했다. 정규식을 이용해 문자열을 슬라이싱한다. 각 부분에 해당하는 부분들을 if문으로 나눠 구분한다. 자주 사용되는 부분은 다른 함수로 빼서 코드를 단축시킨다. #이나 *의 기호의 경우 특수한 경우로서 한 번 더 생각해줘야 한다. 2. 나의 코드 import re def solution(dartResult): # 정규식 이용 p = re.compile('\d+\D[*#]?') ls = p.findall(da..
0. 문제 링크) https://programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스�� programmers.co.kr 1. 알고리즘 계획 현재 멈춰있는 스테이지의 개수를 파악하는 count변수를 하나 생성한다. 각 스테이지별로 실패율을 구한다. 스테이지별로 구한 실패율을 정렬한다. (정렬하기 위해 index값을 붙인 배열 하나를 추가 생성) 2. 나의 코드 def solution(N, stages): temp = [] count = len(stages) f..
0. 문제 링크) https://programmers.co.kr/learn/courses/30/lessons/17681 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 1. 알고리즘 계획 정수값을 이진수로 가공한다. for문을 돌면서 규칙에 해당하는 값으로 새로운 리스트르 만든다. 다른 for문에서 새로운 리스트를 돌면서 값을 변화시켜준다. 2. 나의 코드 def solution(n, arr1, arr2): ls2 = [] answer = [] # 정수 가공 tmp1 = ['0'*(n-len(forma..
0. 문제 링크) https://programmers.co.kr/learn/courses/30/lessons/12982 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 �� programmers.co.kr 1. 알고리즘 계획 개수를 저장할 변수(count)를 하나 생성한다. for문을 돌면서, 예산에서 해당되는 부서를 찾으면 예산에서 값을 빼고, count를 증가시킨다. - '부서의 필요한 금액 리스트'를 돌 때 값을 정렬시켜주면 코드를 효율적으로 돌 수 있다. 2. 나의 코드 def solution(d, budget): count = 0 fo..