취업을 준비하며 정리하는 컴퓨터 지식 (55) 썸네일형 리스트형 [Problem Solving] SQL 문제 풀이 (2) SQL 문제 풀이 (1)에 이어서 문제 해설을 이어나가겠다. 최솟값 구하기 문제 설명 코딩테스트 연습 - 최솟값 구하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr -- 코드를 입력하세요 SELECT MIN(DATETIME) AS '시간' FROM ANIMAL_INS MIN 함수를 사용하여 해결할 수 있다. 이름이 없는 동물의 아이디 문제 해설 코딩테스트 연습 - 이름이 없는 동물의 아이디 ANIMAL_INS 테이블은 동물 보호소에 .. [Problem Solving] SQL 문제 풀이 (1) 모든 문제는 문제 원문 링크를 가지고 있으니 해당 링크를 통해서 사용되는 데이터 테이블의 속성 값과 타입 값을 확인해주기 바랍니다. 모든 레코드 조회하기 문제 설명 코딩테스트 연습 - 모든 레코드 조회하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr -- 코드를 입력하세요 SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID 동물 보호소에 있는 모든 동물의 정보를 ANIMAL_ID순으로 출력하는 문제로 ORD.. [Problem Solving] 백준 2225번 합분해 문제풀이 백준 2225번 문제풀이에 대해서 알아보겠다. 문제 해설은 다음의 링크를 확인하면 된다. 문제 해설 2225번: 합분해 첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 해당 문제는 다이나믹 프로그래밍을 활용하여 해결해야 한다. 처음 문제 접근 과정에서 n = 20일 때를 먼저 생각해봐서 문제 풀이의 어려움이 있었다. 다이나믹 프로그래밍 문제를 해결할 때에는 처음부터 결과를 생각해보는 것이 좋다. 이 문제에서는 n = 1, k = 1일 때가 그 경우이다. 합분해 문제를 풀기 위해서는 다음 규칙에 대해서 알아야 한다. k = 1 일 때는 경우의 수가 1이다. n = 1 일때는 경우의 수가 k개다. k = 1일 때는 경우의 수가 자기 자신으로 표현할 수 있기 .. [Problem Solving] 백준 2212번 센서 문제풀이 백준 2212번 문제풀이에 대해서 알아보겠다. 문제 해설은 다음 링크를 확인하면 된다. 문제 해설 2212번: 센서 첫째 줄에 센서의 개수 N(1 [ProblemSolving] 백준 1202 보석 도둑 문제풀이 백준 1202 보석 도둑 문제 해설을 알아보겠다. 해설은 다음 링크를 확인하면 된다. 문제 해설 1202번: 보석 도둑 첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci www.acmicpc.net 해당 문제는 그리드 유형의 문제로 최적의 해를 찾기 위한 방법을 생각해야 한다. 해당 문제는 모든 경우의 수를 확인하여서 해결할 수도 있지만 최악의 경우에는 30만 X 30만 = 900억 번의 연산을 진행하여한다. 따라서 모든 경우의 수를 확인하지 않고, 버릴 수 있는 조건을 생각해야 한다. 문제 해결 과정.. [ProblemSolving] 백준 10026번 적록색약 문제풀이 백준 10026번 적록색약 문제풀이입니다. 문제 해설은 링크를 확인하면 된다. 문제 해설 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 해당 문제는 그래프 탐색 유형의 문제로 'G'를 'R'로 보는 적록색약인 사람이 보는 구역의 수와 적록색약이 아닌 사람이 보는 구역의 수를 구해야 한다. 해당 문제를 해결하기 위해서는 다음의 과정을 수행해야 한다. colorData는 입력받은 색 정보이다. colorData에서 BFS를 수행한다. 수행하면서 연산의 끝에 'G'를 'R'로 바꿔준다. 모든 'G'가 'R'.. [ProblemSolving] 백준 1744번 수 묶기 문제풀이 백준 1744번 수 묶기 문제풀이에 대해서 알아보겠다. 문제 해설은 다음의 링크를 확인하면 된다. 문제 해설 1744번: 수 묶기 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 www.acmicpc.net 해당 문제는 그리드 유형의 문제로 최적을 방법을 고민해야 한다. 해당 문제를 해결하기 위해서는 3가지 조건을 충족하면서 계산을 해야 한다. 2 이상의 숫자는 오름차순 정렬하여 곱한다. 1은 더한다. 음수는 내림차순 정렬하여 곱한다. 위의 조건을 만족하기 위해서는 숫자를 입력받을 때 양의 정수, 1, 음의 정수를 따로 처리해줘야 한다. 다음의 조건을 만족.. [ProblemSolving] 백준 7576번 토마토 문제풀이 아직 많은 문제를 접해보지는 않았지만 BFS, DFS 탐색을 사용하는 문제들이 재미있다. 그래서 오늘도 그래프 탐색을 사용한 '토마토' 문제를 가져왔다. 문제 해설은 링크를 확인해주기 바랍니다. 백준 7576번 토마토 문제 해설 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 해당 문제는 익은 토마토가 위치한 부분 전부를 큐에 우선 넣어준 후에 BFS 탐색을 실행시키는 방식으로 해결이 가능하다. 과정은 다음과 같다. 토마토의 정보를 가지고 있는 배열은 data라고 하겠다. data에서 익은 토.. 이전 1 2 3 4 5 6 7 다음