Coding Test/알고리즘 실전

Coding Test/알고리즘 실전

[MYSQL] SolveSql SELECT

✔ SELECT모든 데이터 조회하기[SolveSql select-all]/* SELECT : 모든 데이터 FROM : points 테이블*/SELECT *FROM points일부 데이터 조회하기[SolveSql select-where]/* SELECT : 데이터 FROM : points 테이블 WHERE : quartet 컬럼의 값이 I*/SELECT *FROM pointsWHERE quartet = 'I'데이터 정렬하기[SolveSql order-by]/* SELECT : 데이터 FROM : points 테이블 WHERE : quartet 컬럼의 값이 I ORDER BY : y 컬럼의 값을 기준으로 오름차순 정렬*/SELECT *FROM pointsWHERE quartet = 'I'ORD..

Coding Test/알고리즘 실전

[21944] 문제 추천 시스템 Version 2

✔ 문제 추천 시스템 Version 2[백준 21944]코드 구현하기/* * 문제 분석하기 * : 추천 문제 리스트를 TreeSet에 저장한 후, 명령에 따라 문제를 추천, 추가, 제거하도록 함 * 이를 위해 TreeSet의 last(), first(), ceiling(), lower() 메소드를 사용하도록 하며 * 각 알고리즘인 G에 대해서는 각 서브트리를 만들어서 알고리즘 별로 정렬해주도록 함 *//* * 손으로 풀어보기 * 1. recommend G x일 경우, * TresSet에 있는 문제들을 알고리즘 G에 따라서 분리하여 서브트리를 만든 후 TreeSet의 last(), first() 메소드를 사용해 문제 번호를 출력 * 2. recommend2 x일 경우, * Tre..

Coding Test/알고리즘 실전

[14391] 종이 조각

✔ 종이 조각[백준 14391]코드 구현하기/* * 문제 분석하기 * : 현재의 위치에서 자기 자신과 가로 칸을 추가해 자르거나, * 자기 자신과 세로 칸을 추가해 자르거나 * 둘 다 추가하지 않고 자기 자신만 자르는 것을 반복하여 완전 탐색하며 * 얻을 수 있는 가장 큰 점수를 구하도록 함 *//* * 손으로 풀어보기 * 1. 종이 조각의 크기에 따라 종이 조각의 수를 저장 * 2. 현재 위치의 종이 조각을 이미 사용했을 경우 넘어가도록 함 * 3. 현재 위치의 종이 조각을 사용하지 않았을 경우, * 자기 자신만 잘라 조각을 만들거나, * 자기 자신과 가로 조각을 붙여 조각을 만들거나, * 자기 자신과 세로 조각을 붙여 조각을 만드는 것을 반복하여 조각의 합을 최대로 ..

Coding Test/알고리즘 실전

[16637] 괄호 추가하기

✔ 괄호 추가하기[백준 16637]코드 구현하기/* * 문제 분석하기 * : 괄호 안에 하나의 연산자만 들어가도록 하여 식의 결과의 최댓값을 구해야하므로 * 이전까지의 결과 값에 이번 연산을 할 때 괄호를 넣은 것과 넣지 않은 것의 결과를 구하도록 반복하여 최댓값을 구하도록 함 *//* * 손으로 풀어보기 * 1. 괄호를 넣지 않을 경우 이전까지의 계산 값과 현재의 수에 대해 계산하도록 함 * 2. 괄호를 넣을 경우 현재의 수와 다음 수에 대해 먼저 계산한 후 이를 이전까지의 계산 값과 계산하도록 함 * 3. 모든 연산자를 살펴봤다면 식의 결과의 최댓값을 갱신하도록 함 * 4. 이를 반복하여 괄호를 넣거나 넣지 않는 경우에 대해 모두 반복하여 최댓값을 찾아 출력함 *//* * 16637) 괄호_추..

Coding Test/알고리즘 실전

[14500] 테트로미노

✔ 테트로미노[백준 14500]코드 구현하기/* * 문제 분석하기 * : 각 테트로미노를 회전, 대칭시키며 종이 위에 올린 후, 가장 큰 수들의 합을 찾는 것이므로 * 한 칸을 정한 후, 이 위치에서 상하좌우로 탐색하며 테트로미노의 크기인 4만큼이 되었을 때 수를 갱신하도록 함 * 이때 보라색 테트로미노를 제외하고 나머지 테트로미노는 상하좌우 탐색을 통해 만들 수 있지만 * 보라색 테트로미노는 탐색 시 2번째 칸에서 3번째 칸으로 이동하는 것이 아니라 2번째 칸에서 다시 한 번 탐색을 하도록 함 * * 파란색 : 우우우 (좌좌좌, 하하하, 상상상 ...) * 노란색 : 하우상 (우하좌, 상우하, 좌하우 ...) * 주황색 : 하하우 (우우상, 우우하, 좌좌하, 좌좌상, 상상좌,..

Coding Test/알고리즘 실전

[21315] 카드 섞기

✔ 카드 섞기[백준 212315]코드 구현하기/* * 문제 분석하기 * : 초기 상태부터 시작해 K가 될 수 있는 수를 두 개 뽑아 완전 탐색하여 알맞는 K를 찾도록 함 * 예) 초기 상태 -> 1 2 3 4 5 * 4개의 카드를 더미의 맨 위에 올림 -> 2 3 4 5 1 * 2 4, 5, 2, 3, 1 * i = 3일 때, 직전에 맨 위에 올린 카드(4, 5) 중에서 밑에서 1개의 카드 더미를 맨 위에 올림 -> 5, 4, 2, 3, 1 *//* * 손으로 풀어보기 * 1. K가 될 두 수를 뽑도록 함 * 2. K에 따라 2번의 (2, K) 섞기를 하여 결과를 찾도록 함 * 2^K개의 카드를 더미의 맨 위에 올린 후, 그 중에서 2^(K - i + 1)개의 카드를 더미의 ..

Coding Test/알고리즘 실전

[16235] 나무 재테크

✔ 나무 재테크[백준 16235]코드 구현하기/* * 문제 분석하기 * : K번 동안 사계절의 나무 재테크를 하도록 한 후 살아있는 나무의 개수를 구하도록 함 * *//* * 손으로 풀어보기 * 1. 각 칸에 추가되는 양분의 양을 저장 * 2. 처음 칸의 양분을 5로 시작하도록 저장 * 3. 상도가 심은 나무의 정보를 저장 * 4. 나무가 자신의 나이만큼 양분을 먹고, 나이를 1 증가시키도록 함 * 이때 하나의 칸에 여러 개의 나무가 있다면, 나이가 어린 나무부터 양분을 먹고 * 양분이 부족해 자신의 나이만큼 먹을 수 없다면 이 나무를 죽인 후, 나이를 2로 나눈 값을 양분으로 만들도록 함 * 5. 존재하는 나무의 나이가 5의 배수라면 인접한 8개의 칸에 나이가 1인 나무를 생성 * 6..

Coding Test/알고리즘 실전

[18430] 무기 공학

✔ 무기 공학[백준 18430]코드 구현하기/* * 문제 분석하기 * : 나무의 재료에 따라 부메랑을 만들 수 있는 조합을 모두 찾은 후, 부메랑들의 강도의 합의 최댓값을 찾도록 함 * *//* * 손으로 풀어보기 * 1. 부메랑의 중심이 될 좌표를 하나 선정하여 하나의 부메랑을 만들어 부메랑의 강도의 합을 구함 * 2. 만들어진 부메랑을 기준으로 만들 수 있는 부메랑 조합(┑, ┙, ┕, ┍, 만들지 않음)을 계속해서 만들어나가 부메랑들의 강도의 합에 더해주도록 함 * 3. 이를 반복하여 만들어질 수 있는 부메랑들의 조합에 따른 부메랑들의 강도의 합의 최댓값을 찾아 출력 *//* * 18430) 무기_공학 */public class Main { static BufferedReader br..

김깅긍
'Coding Test/알고리즘 실전' 카테고리의 글 목록 (2 Page)