1. 오늘의 문제 - 촌수 계산 - 백준 : 2644번https://www.acmicpc.net/problem/2644 2. 문제 풀이 전략DFS로 그래프 탐색을 하면 될 것 같고,양방향 그래프이고,사람들이 100명뿐이 안되니까 인접행렬 사용하면 될 것 같다. 3. 풀이package io.conduktor.demos.dfsbfs.hanghaecote99.middler;import java.io.*;import java.util.StringTokenizer;// 8. 촌수 계산 - 백준 : 2644 - DFS, BFSpublic class ChonNumber8 { static int N; static int targetA; static int targetB; static int M;..
코딩테스트준비
1. 오늘의 문제 - 나무 자르기 - 백준 : 2805https://www.acmicpc.net/problem/2805 이분탐색!지금까지 갈고 닦은 이분탐색 실력을 뽐낼 시간이로군 2. 문제 풀이 전략이건 그냥 이분탐색만 알고 알고 있으면 간단히 해결될 것 같다. 3. 난관 봉착... 예제 입력을 넣었을 때 출력이 제대로 안 나옴근데 왜 첫 번째 예제 입력시 출력으로 15가 나와야 하는데 13이 나오는걸까? 두 번째 예제도 마찬가지. 36이 나와야 하는데 27이 나온다. 내가 작성한 로직은 아래와 같다.int result = 0;int left = 0;int right = 1000000000;while (left = M) { result = mid; left = mid + 1; ..
1. 오늘의 문제 - 알고리즘 수업 - 너비 우선 탐색 1 - 백준 : 24444번https://www.acmicpc.net/problem/24444 이름부터가 BFS로 풀라고 떠먹여준다.BFS는 참 좋다.공식만 알고 있으면 되니까.문제에서 친절하게 공식도 알려준다.2. 문제 풀이 전략2 - 1. 인접리스트로 접근정점수가 100,000 개이므로, 인접행렬로 그래프를 표현하면 메모리초과가 발생할 것이다.인접리스트로 그래프를 표현하자.// static int[][] adjMatrix; // 인접 행렬 안됩니다!static List> adjList; 2 - 2. 정렬예시의 입력을 살펴보면, 1번 정점과 4번 정점이 연결 되고, 1번 정점과 2번 정점이 연결 된다.결과적으로, 1번 정점과 연결된 정점들은 [..
1. 오늘의 문제 - 알고리즘 수업 - 깊이 우선 탐색 1 - 백준 24479번https://www.acmicpc.net/problem/24479 1년 전에 풀었던 문제가 나왔네?다시 한 번 풀어보자.다시 풀어봤는데, 첫 번째, 두 번째 제출은 틀렸고, 세 번째 만에 맞췄다.2. 문제 풀이 전략2 - 1. 인접리스트로 접근일단 정점수가 100,000이다.인접행렬로 풀 경우, 100,000 * 100,000 이니까 공간 복잡도가 어마어마해진다.정점수가 적을 때는 인접행렬로 풀어도 되지만, 이런 경우 인접리스트로 풀어야 시간초과가 안 난다.static List> adjList;2 - 2. 정렬예시의 입력을 살펴보면, 1과 4가 연결, 1과 2가 연결순으로 제시된다.1번과 연결된 놈들이 [4, 2] 가 되는..
1. 오늘의 문제 - 입국심사https://school.programmers.co.kr/learn/courses/30/lessons/43238 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 입국심사를 받을 사람 n명이 주어지고, 각 입국 심사관의 심사 시간이 배열로 주어진다.가령, n = 6, times = [7, 10] 으로 주어진다면입국심사를 받을 사람은 6명이고, 입국 심사관은 2명이고, 각각 7분, 10분이 걸린다는 의미다.자세한 제한사항은 링크를 통해서 확인하도록 하고... 2. 문제풀이 전략2 - 1. times 배열 정렬입국 심사관의 심사 시간 배열은 정렬되어 주어지지 않는다. 일단 정렬한..
1. 오늘의 문제 - 징검다리 : 백준 11561번https://www.acmicpc.net/problem/11561 2. 공부한 내용2 - 1. 규칙 찾기 시도징검다리가 1개일 때는 최대 징검다리수 는 몇 개 일까?2개일 때는? 10개 일때는? 규칙을 찾으려고 노력했다. 2 - 2. 이전에 점프한 거리보다 1 이상 더 긴 거리를 뛰어야1이상 점프해야 한다는 제약 조건은 무엇을 의미할까?최대한 많은 징검다리를 밟는 걸 찾는 문제다그러면 정확하게 1칸 뛰고 2칸 뛰고 3칸 뛰는 게 최대한 많은 징검 다리를 밟는 경우의 수일 것이다.1 이상 뛸 수 있다고해서 처음에 5칸 뛰고 그 다음 7칸 뛰고 그다음 13칸 뛰면 최댓값이 아닐 것이다. 아주 당연하다. 2 - 3. 등차수열의 합최선의 경우가 1, 2, 3,..
1. 오늘의 문제게임 - 백준 1072번https://www.acmicpc.net/problem/1072 2. 공부한 내용2 - 1. 백준 사이트 적응오랜만에 백준 문제 풀어서 적응하는 시간이 걸렸다. 마지막으로 백준 문제 제출해본지가 1년이 넘은 듯 한데...문제 다 풀고 제출했더니 컴파일 에러가 발생하여(분명 인텔리제이에서는 실행 잘 됫었는데?)class 이름이 Main 이어야 한다는 걸 깜빡했다. 2 - 2. 게임 - 백준 1072번김형택은 지금 몰래 Spider Solitaire(스파이더 카드놀이)를 하고 있다. 형택이는 이 게임을 이길 때도 있었지만, 질 때도 있었다. 누군가의 시선이 느껴진 형택이는 게임을 중단하고 코딩을 하기 시작했다. 의심을 피했다고 생각한 형택이는 다시 게임을 켰다. ..