본문 바로가기

코테65

[MYSQL] 조건에 부합하는 중고거래 상태 조회하기 사용 언어 - MYSQL 프로그래머스 LV 2) 조건에 부합하는 중고거래 상태 조회하기 https://school.programmers.co.kr/learn/courses/30/lessons/164672 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 CASE WHEN 절 (정답 맞춘 여부 X) CASE WHEN 조건1 THEN 값1 WHEN 조건2 THEN 값2 END AS 별칭 TYPE이 DATE인 경우 그냥 바로 WHERE CREATED_DATE = '2022-10-05' SELECT BOARD_ID, WRITER_ID, TITLE, PRICE,.. 2023. 10. 6.
다이나믹 프로그래밍? 나동빈 이코테 유튜브 강의 정리 https://www.youtube.com/watch?v=5Lu34WIx2Us&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=6 다이나믹 프로그래밍 DP = 동적 계획법 메모리를 적절히 사용하여 수행 시간 효율성을 비약적으로 향상시키는 방법 이미 계산된 결과(작은 문제)는 별도의 메모리 영역에 저장하여 다시 계산하지 않도록. 두 가지 조건 만족 시 DP 사용 - 최적 부분 구조 Optimal Substructure 큰 문제를 작은 문제로 나눌 수 있으며 작은 문제의 답을 모아서 큰 문제를 해결할 수 있습니다. - 중복되는 부분 문제 Overlapping Subproblem 동일한 작은 문제를 반복적으로 해결해야 합니다. 대표 문제. 피보.. 2023. 6. 1.
[Python3] 백준 1283번 단축키 지정 사용 언어 - Python3 문제 - 단축키 지정 1283번: 단축키 지정 첫째 줄에 옵션의 개수 N(1 ≤ N ≤ 30)이 주어진다. 둘째 줄부터 N+1번째 줄까지 각 줄에 옵션을 나타내는 문자열이 입력되는데 하나의 옵션은 5개 이하의 단어로 표현되며, 각 단어 역시 10개 이하 www.acmicpc.net 정답 이중반복문 구현 (정답 맞춘 여부 X) import sys n = int(sys.stdin.readline()) arr = [] for _ in range(n): word = list(map(str, sys.stdin.readline().split())) for i in range(len(word)): if word[i][0].upper() not in arr: arr.append(word[i.. 2023. 4. 9.
[Python3] 1138번 한 줄로 서기 사용 언어 - Python3 문제 - 한 줄로 서기 1138번: 한 줄로 서기 첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수이다. 둘째 줄에는 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다. i번째 수는 0보다 www.acmicpc.net 정답 이중반복문 구현 (정답 맞춘 여부 X) 각 자리마다 왼쪽에 있는 키 큰 사람수(cnt)는 총 4자리일때 0 1 2 3 이다. 왼쪽에 있는 키 큰 사람수 arr[i]가 cnt와 동일하고, 해당 자리가 비어있다면, answer[j] 그 자리에 i+1(자릿수가 1부터 시작하므로, 인덱스+1)을 앉힌다. 왼쪽에 있는 키 큰 사람수 arr[i]와 cnt가 동일하지 않고, 해당 자리가 비어있다면, cnt +=.. 2023. 4. 9.
[Python3] 1189번 컴백홈 사용 언어 - Python3 문제 - 컴백홈 1189번: 컴백홈 첫 줄에 정수 R(1 ≤ R ≤ 5), C(1 ≤ C ≤ 5), K(1 ≤ K ≤ R×C)가 공백으로 구분되어 주어진다. 두 번째부터 R+1번째 줄까지는 R×C 맵의 정보를 나타내는 '.'과 'T'로 구성된 길이가 C인 문자열이 주어진다 www.acmicpc.net 정답 nx,ny 이동하는 BFS 만들기 (정답 맞춘 여부 X) dx = [-1,0,1,0] dy = [0,-1,0,1] from collections import deque def DFS(x,y,count): global answer visited[x][y] = 1 if [x,y] == [0,c-1]: #오른쪽 맨 윗(집)도착시 if count == k: #거리가 k라면 조건만족.. 2023. 4. 9.
[Python3] 백준 1012번 유기농 배추 사용 언어 - Python3 문제 - 유기농 배추 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 정답 nx,ny 이동하는 BFS 만들기 (정답 맞춘 여부 X) 0. 입력 배추밭 graph(m행*n열)에 graph[x][y] = 1로 배추표시 1. queue를 사용한 BFS(x,y) visit 리스트를 만들지 않아도, grpah의 0과 1로 방문표시가 가능하다. graph[x][y] = 0 방문처리 graph[x][y] = 1 방문하지 않은, 배추가 있는 곳 x,y를 상하좌우로 이동시켜 nx,ny의 새로운 위치에서 gra.. 2023. 4. 9.
[Python3] 백준 1260번 DFS와 BFS 사용 언어 - Python3 문제 - DFS와 BFS 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 정답 BFS, DFS 만들기 (정답 맞춘 여부 X) 0. input, 변수 선언 graph = 정점의 개수+1 만큼의 (n+1,n+1) 0벡터 배열을 만들어준다. visit했는지 여부를 (n+1) 크기의 0벡터로 만든다. BFS, DFS 두개의 리스트로 만든다. graph[a][b] = graph[b][a] = 1 입력되는 간선은 양방향이기 때문에 반대방향도 똑같이 1이다.. 2023. 4. 9.
[Python3] 백준 1347번 미로 만들기 사용 언어 - Python3 문제 - 미로 만들기 1347번: 미로 만들기 홍준이는 미로 안의 한 칸에 남쪽을 보며 서있다. 미로는 직사각형 격자모양이고, 각 칸은 이동할 수 있거나, 벽을 포함하고 있다. 모든 행과 열에는 적어도 하나의 이동할 수 있는 칸이 있다. 홍 www.acmicpc.net 정답 최대 x,y 값 구하고, 2차원 배열 만들기 (정답 맞춘 여부 X) 1. loc_list (0,0)에서 시작해서 이동한 값 x,y에 저장하기 R 명령어) 방향을 오른쪽으로 전환 -> status+1 한 후 4로 나누어 몇번째 원소인지 찾기 (status+1)%4 L 명령어) 방향을 왼쪽으로 전환 -> status가 0이 아니라면, status-1, 아니면 3 x는 loc_list의 가장 최근 x좌표에서 R.. 2023. 4. 9.
[Python3] 백준 1002번 터렛 사용 언어 - Python3 문제 - 터렛 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 정답 if문 경우의 수 생각하기 (정답 맞춘 여부 X) 1. 두 원이 같고, 반지름이 같은 경우 => 무한한 경우 print(-1) 2. 두 원이 접해있는 경우 (내접 or 외접) => 무조건 점은 한개 print(1) 3. 두 원이 서로 다른 점 안에서 만날 때 => 점은 둘 중 하나 가능 print(2) 4. 나머지 경우 print(0) import math t = int(input()) for _ in range(t): x1, y1, r1, x2, y2, r2 = m.. 2023. 4. 7.
[Python3] 백준 1904번 01타일 사용 언어 - Python3 문제 - 01타일 1904번: 01타일 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이 www.acmicpc.net 정답 DP 기초 문제 (정답 맞춘 여부 X) 1. dp = [0]*(1000001), n+1 만큼 0으로 이루어진 리스트 dp 생성 2. 예외처리 n이 1,2이면, 답이 정해져있다. 가독성을 위해 인덱싱은 1부터 한다. dp[1] = 1 dp[2] = 2 3. n이 3이상인 경우 dp[i] = i까지의 최대값 dp[i]=(dp[i-2]+d[i-1])%15746 dp[n] = 모든 2진 수열의 개수를 15746으로 나눈 나머지 2023. 4. 6.