일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
목록전체 글 (363)
기록
문제 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/b9OaXW/btqZVmdfcvg/zE83Bz5xuQMdgjmxf0WAL0/img.png)
1. 통합 드라이버 설치(samsung) www.samsungsvc.co.kr/download 다운로드 자료실 | 스스로해결 | 삼성전자서비스 다운로드 자료실 원하시는 정보를 못 찾으셨다면 아래 서비스를 이용해보세요. 문제해결이 되지 않거나 어려우시다면 인공지능 채팅 로봇으로 상담을 받아보시기 바랍니다. 무상 보증기간 이 www.samsungsvc.co.kr 2. 개발자 모드 켜기 3. USB 디버깅 활성화 4. 안드로이드 스튜이노 연결
![](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에 추가한다. 유효한 노드: 설계도 안에 존재하며 벽(*)이 아닌 노드 중복을 체크하기 위해 해당 노드에 벽(*)을 세운다...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/8wto8/btqVzQ9iX5I/7Tl7SjKXu66OYvoPKfgES1/img.png)
문제 https://www.acmicpc.net/problem/17404 17404번: RGB거리 2 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 풀이 1) 첫번째 집에 사용할 페인트 색 고르기 첫번째 집과 마지막 집에 사용되는 페인트가 달라야 한다는 조건을 만족하기 위해 경우의 수를 나누어 계산하였다. 1. 첫번째 집에 빨간색 페인트를 사용한다. 두번째 집과 마지막 집의 빨간색 페인트가 선택되지 않기 위해서 충분히 큰 값을 넣는다. 첫번째 집의 초록색과 파란색 페인트가 선택되지 않기 위해서 충분히 큰 값을..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/26Xsr/btqVSurS8iD/uTzBEi8vKUZqdkGO753Sx0/img.png)
문제 https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 풀이 입력값이 다음과 같이 주어질 때 다이나밍 프로그래밍을 이용하여 문제를 해결할 수 있다. 가장 하단의 60, 80, 50중에서 가장 작은 값인 60을 출력한다. 코드 from sys import stdin N = int(input()) board = [list(map(int, stdin.readline().strip("\n").split())) for i in ran..