Java

코딩테스트 일기 (BAEKJOON)

BAEKJOON / 백준 - JAVA 31845번 카드 교환

2024.06.26기준 - 실버3백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 조건에 맞게 카드 게임시 플레이어가 얻을 수 있는 총 점수의 제일 큰 값을 출력하는 문제입니다. 이 문제의 핵심은 플레이어와 딜러 둘 다 카드를 더미 카트를 제외하고 소모하거나, 최대 턴 수가 되면 게임이 종료된다는 점입니다.다른게 생각하면 양수의 값은 최대 턴 수에 맞춰 얻을 수 있지만, 만약 음수의 점수를 얻어야 된다면 더미 카드만 왔다 갔다 하면서 턴을 소비할 수 있다는 소리입니다. 1. 카드를 하나의 배열에 저장해 플레이어가 얻는 점수는 score에 더 해 점수를 얻고 딜러에게 주는 카드는 remove를 통해 없애는 방식으로 접근했습니다.List list = new LinkedList(); // 카드를..

코딩테스트 일기 (BAEKJOON)

BAEKJOON / 백준 - JAVA 31747번 점호

2024.06.25기준 - 실버3백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 1학년과 2학년이 점호를 전부 받았을 때의 시간을 출력하는 문제입니다. 줄을 서는 인원의 순서는 들어온 순서대로 참조하지만,k만큼 확인하는 인원은 순서에 상관없이 학년만 조사하기 때문에 1학년과 2학년을 정렬을 해서 문제에 접근했습니다. 1. 학생을 저장할 때에 qu에다가 저장합니다.Queue qu = new LinkedList(); // 학생을 저장할 큐 2. 확인하는 인원들은 따로 Deque를 선언해 저장을 해 주었습니다.Deque sub = new LinkedList(); // 확인하는 인원들을 저장하는 큐 3. 반복문을 통해 확인하는 인원 수가 k보다 작다면 qu에 있는 인원에서 채워주도록 했습니다.w..

코딩테스트 일기 (BAEKJOON)

BAEKJOON / 백준 - JAVA 1389번 케빈 베이컨의 6단계 법칙

2024.06.24기준 - 실버1백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 친구의 관계를 입력 받을 때, 유저 중 모든 친구와 제일 가까운 유저를 출력하는 문제입니다. 이 문제에 접근하기 위해서 플로이드 위셜 알고리즘을 통해 접근을 하였습니다. 플로이드 워셜 알고리즘그래프 내 모든 정점 쌍의 최단 경로를 반복적으로 계산합니다.두 정점 사이의 최단 경로가 어떤 중간 정점을 거쳐서 갈 때 더 잛은지를 확인하여 입력하는 방식입니다.플로이드 위셜 알고리즘 작동 과정1. 초기화● 그래프의 인접 행렬 d를 사용합니다. 여기서 d[i][j]는 정점 i에서 정점 j로 가는 초기 가중치를 의미합니다.● 만약 i에서 j로 직접적인 간선이 없다면 d[i][j]를 무한대로 설정합니다. 그러나 자기 자신으..

코딩테스트 일기 (BAEKJOON)

BAEKJOON / 백준 - JAVA 14231번 박스 포장

2024.06.23기준 - 실버2백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 일렬로 들어오는 박스에서 작은 박스가 큰 박스에 겹칠 수 있을 때, 가장 많이 겹칠 수 있는 박스의 수를 계산하는 문제입니다. 예제를 통해서 문제에 대한 설명을 진행하도록 하겠습니다.// 예제61 3 5 8 4 9 1. 기본적으로 box를 담는 배열과 겹치는 수를 담는 dp배열을 생성해줍니다.// 박스의 크기를 저장할 배열box = new int[n + 1];for (int i = 1; i 여기서 dp[1] = 1인 이유는 처음 박스는 하나만 존재하기 때문에 넣을 수 있는 박스가 없습니다.dp의 참조하는 값보다 앞에 값을 참조하기 때문에 1번째 인덱스는 1로 깔고 갑니다.※ 인덱스는 1부터 시작을 했습니다. ..

Coding_Slowly
'Java' 태그의 글 목록 (38 Page)