코딩테스트

코딩테스트 일기 (BAEKJOON)

BAEKJOON / 백준 - JAVA 29197번 아침 태권도

2024.06.29기준 - 실버2 백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 원점에서 바라봤을 때, 보이는 학생의 수를 구하는 문제입니다. 제가 생각하는 문제의 핵심은 기울기는 같아도 앞에 있냐 뒤에 있냐에 따라서 둘 다 보일 수 있다는 거라고 생각합니다. 1. 각 위치별로 저장할 수 있는 리스트를 생성합니다.List u = new LinkedList(); // 위쪽List d = new LinkedList(); // 아래쪽List r = new LinkedList(); // 왼쪽List l = new LinkedList(); // 오른쪽List ul = new LinkedList(); // 위오른쪽List ur = new LinkedList(); // 위왼쪽List dl = new..

코딩테스트 일기 (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부터 시작을 했습니다. ..

코딩테스트 일기 (BAEKJOON)

BAEKJOON / 백준 - JAVA 28450번 컨벤 데드가 하고싶어요

2024.06.21기준 - 실버2백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 맵의 (0, 0)에서 (h, w)까지 가는데에 가작 적은 숫자의 합으로 간 뒤 재현이의 은신력이랑 비교하여 출력하는 문제입니다. ※ 여기서 주의할 점헬창 형님들의 눈치력 최대치는 1억이며 최대로 있을 수 있는 형님은 1000000이기 때문에 눈치력을 계산하기 위해서는 long타입을 사용해야 가능합니다. 예제를 통해서 문제에 대한 풀이를 하도록 하겠습니다.// 예제5 51 0 2 0 00 2 0 0 00 0 3 100000000 1000000000 0 100000000 100000000 1000000000 0 100000000 100000000 100000000100000000 ※ 인덱스의 시작은 (0, 0)으..

Coding_Slowly
'코딩테스트' 태그의 글 목록 (16 Page)