일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 1차원 DP
- 2차원 dp
- 99클럽
- @BeforeAll
- @BeforeEach
- @Builder
- @Entity
- @GeneratedValue
- @GenericGenerator
- @NoargsConstructor
- @Query
- @Table
- @Transactional
- Actions
- Amazon EFS
- amazon fsx
- Android Studio
- ANSI SQL
- ApplicationEvent
- assertThat
- async/await
- AVG
- AWS
- Azure
- bind
- builder
- button
- c++
- c++ builder
- c03
- Today
- Total
목록코딩테스트 (132)
기록
문제 https://programmers.co.kr/learn/courses/30/lessons/77886 코딩테스트 연습 - 110 옮기기 0과 1로 이루어진 어떤 문자열 x에 대해서, 당신은 다음과 같은 행동을 통해 x를 최대한 사전 순으로 앞에 오도록 만들고자 합니다. x에 있는 "110"을 뽑아서, 임의의 위치에 다시 삽입합니다. 예를 programmers.co.kr 풀이 1. 문자열의 110을 모두 삭제한다. 1-1. stack에 문자열을 하나씩 넣는다. 1-2. stack의 뒤에서부터 3자리와 110을 비교한다. 1-2-1. 같으면 3자리를 stack에서 꺼낸다. count는 110의 개수를 저장하는 변수로, 초기 문자열 s의 길이에서 110을 제거한 stack의 길이를 이용한다. 2. 문자열..
문제 https://programmers.co.kr/learn/courses/30/lessons/68645# 코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] programmers.co.kr 풀이 1. 삼각형 형태의 arr 배열을 생성한다. 2. int((n-1)/3)+1번 회전한다. [1] [2, 21] [3, 22, 20] [4, 23, 33, 19] [5, 24, 34, 32, 18] [6, 25, 35, 36, 31, 17] [7, 26, 27, 28, 29, 30, 16] [8, 9, 10, 11, 12, 13, 14, 15] 삼각형을 직접..
문제 https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 풀이 check : { "A":1, "AB":1, "AC".:1...} # A, AB, ABC...의 메뉴조합을 조사하였다. ans : { 2 : [ "AB", "AC"], 3 : [ "ABC" ]... } # 길이가 2이고 가장 많이 주문한 메뉴조합은 AB, AC가 있다. # 길이가 3이고 가장 많이 주문한 메뉴조합은 ABC가 있다. max_count : ..
문제 https://programmers.co.kr/learn/courses/30/lessons/77885 코딩테스트 연습 - 2개 이하로 다른 비트 programmers.co.kr 풀이 1. 숫자 n을 2진수로 변환해 m에 저장한다. 10진수 n 2진수 m 26 11010 7 00111 2. m에 0이 있는지 확인한다. 2-1. 0이 없다면(m은 1로만 구성되어 있다.) , 101111....[:size+1] 값을 반환한다. 10진수 2진수 다른 비트수 7 00111 8 01000 4 9 01001 3 10 01010 3 11 01011 2 2-2. 0이 있다면 2-2-1. 0을 1로 치환한다. 가장 작은 수를 구해야 하므로 가장 왼쪽의 0을 선택한다. index 0 1 2(i) 3 4 2진수 m 1 ..
문제 https://programmers.co.kr/learn/courses/30/lessons/76502 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 풀이 1. 왼쪽으로 i칸씩 회전한다. new_s = s[i:] + s[:i] 2. 회전하여 생성된 new_s를 stack을 이용하여 올바른 괄호인지 확인한다. 코드 def solution(s): count = 0 for i in range(len(s)) : # rotation new_s = s[i:] + s[:i] # 올바른 괄호인지 확인 stack = [0] for item in new_s : if item in ['(', '[', '{'] : stack.append(item) elif item==')' and stack[-1]==..
문제 https://programmers.co.kr/learn/courses/30/lessons/68936 코딩테스트 연습 - 쿼드압축 후 개수 세기 [[1,1,0,0],[1,0,0,0],[1,0,0,1],[1,1,1,1]] [4,9] [[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[0,0,0,0,1,1,1,1],[0,1,0,0,1,1,1,1],[0,0,0,0,0,0,1,1],[0,0,0,0,0,0,0,1],[0,0,0,0,1,0,0,1],[0,0,0,0,1,1,1,1]] [10,15] programmers.co.kr 풀이 압축하고자하는 특정 영역 S는 (시작 행 r1, 시작 열 c1, 사각형 한 변의 길이 s)로 표시한다. 1. 영역 S내의 모든 원소가 0이거나 1인지 확인한다. c..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dNgo68/btq40Q6WIbr/yjqYXXu24BbOLNmRK9wTKk/img.gif)
문제 https://programmers.co.kr/learn/courses/30/lessons/77485 코딩테스트 연습 - 행렬 테두리 회전하기 6 6 [[2,2,5,4],[3,3,6,6],[5,1,6,3]] [8, 10, 25] 3 3 [[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]] [1, 1, 5, 3] programmers.co.kr 풀이 1. 시계방향으로 회전 2. 가장 작은 값을 저장 코드 def solution(rows, columns, queries): matrix = [[r*columns+c+1 for c in range(columns)] for r in range(rows)] result = list() # 회전하기 for r1, c1, r2, c2 in q..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lolRp/btqW1sZXm97/LIHimIUie2tneDKKIKHbK0/img.gif)
문제 www.acmicpc.net/problem/9328 9328번: 열쇠 상근이는 1층 빌딩에 침입해 매우 중요한 문서를 훔쳐오려고 한다. 상근이가 가지고 있는 평면도에는 문서의 위치가 모두 나타나 있다. 빌딩의 문은 모두 잠겨있기 때문에, 문을 열려면 열쇠가 www.acmicpc.net 풀이 설계도를 입력 받을 때 테두리를 빈 칸 . 으로 채운다. stack에 다음으로 탐색할 노드의 행과 열을 입력한다. [(r1, c1), (r2, c2)...] 더 이상 탐색할 노드가 없을 때까지(stack이 비어 있을 때까지) 탐색한다. 1) .를 만났을 때 상하좌우의 유효한 노드를 stack에 추가한다. 유효한 노드: 설계도 안에 존재하며 벽(*)이 아닌 노드 중복을 체크하기 위해 해당 노드에 벽(*)을 세운다...