99클럽 코테 스터디 11일차 TIL (미들러): [백준][Java] 25195 Yes or yes - 골드4
·
ProblemSolve/항해99 코테스터디
문제 보기https://www.acmicpc.net/problem/25195  풀이미들러에 골드 4 문제가 나와서 의아하겠으나 충분히 쉽게 풀 수 있는 문제이다. 나도 풀이를 생각해 낸 뒤 바로 한 번에 해결하였다. 우선 팬클럽이 있는 곳은 갈 필요가 없는 노드라고 생각 해도 된다.그래서 난 visited 배열에 true로 체크하였다.  while(true) { int cur = q.poll(); if(graph[cur].isEmpty()) { bw.write("yes\n"); break; } for(int i = 0; i 그리고 yes인지 Yes인지 출력할 부분이다.문제에서는 특정 노드까지 이동 하는 것이 아니라, 간선이 끊겼을 경우가 마지막 노드라고 말했다.그..
99클럽 코테 스터디 10일차 TIL (챌린저): [백준][Java] 1253 좋다 - 골드4
·
ProblemSolve/항해99 코테스터디
문제 보기https://www.acmicpc.net/problem/1072  풀이1. 실패 소스import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.Arrays;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputSt..
99클럽 코테 스터디 10일차 TIL (미들러): [백준][Java] 18352 특정 거리의 도시 찾기 - 실버2
·
ProblemSolve/항해99 코테스터디
문제 보기https://www.acmicpc.net/problem/18352  풀이오늘도 다익스트라 문제가 나왔다.요즘 자주 보는 것 같다고 생각했는데 내가 챌린지 문제도 같이 풀어서 그런 것 같다. 핵심적인 부분은 각 노드까지의 최단거리를 구하는 부분이다.Queue queue = new PriorityQueue();int[] dist = new int[N + 1];boolean[] visited = new boolean[N + 1];for(int i = 1; i 우선 본격적인 탐색을 시작하기 전 단계이다.우선순위 큐를 만들고 시작 노드를 집어 넣는다. 여기서 Node 클래스는 노드 인덱스와 거리로 구성되어 있다.그리고 우선순위는 거리가 작은 순이다. 필연적으로 가까운 순 부터 방문하게 된다는 뜻이다.이..
99클럽 코테 스터디 9일차 TIL (챌린저): [프로그래머스][Java] 다단계 칫솔 판매 - level3
·
ProblemSolve/항해99 코테스터디
문제 보기https://school.programmers.co.kr/learn/courses/30/lessons/77486 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  풀이맨 처음엔 그래프 관계니까 그냥 BFS 방식으로 풀까? 했는데 시간 초과가 났다.다시 생각해 보니 부모는 꼭 한 명이므로 굳이 그래프 탐색을 사용할 필요가 없다.부모노드가 없거나, 매출의 10퍼센트가 1원 미만으로 떨어졌을 때 반복문을 종료하면 될 뿐이다. 1. 해쉬맵 사용HashMap map = new HashMap();for(int i = 0; i 본격적인 계산에 앞서 나는 이 이름의 enroll에서의 인덱스가 몇 번인지 알아..
99클럽 코테 스터디 8일차 TIL (미들러): [백준][Java] 2644 촌수계산 - 실버2
·
ProblemSolve/항해99 코테스터디
문제 보기https://www.acmicpc.net/problem/2644  풀이어제 풀었던 문제와 거의 동일한 흐름이라 바로 풀어버렸다.https://mountain-noroo.tistory.com/226 99클럽 코테 스터디 7일차 TIL (챌린저): [백준][Java] 1240 노드사이의 거리 - 골드5문제 보기https://www.acmicpc.net/problem/1240  풀이BFS로 문제를 풀었다.시작 노드부터 현재 노드까지의 길이가 얼만지 계속 기록하고현재 노드가 입력된 노드에 도달할 시거리를 출력하였다.  while (!qmountain-noroo.tistory.com 접근 방식은 동일하나 노드 사이에 거리가 주어지지 않으니새 노드를 탐색할 때 무조건 1만 더하면 된다는 차이가 있다. 덕..
99클럽 코테 스터디 7일차 TIL (챌린저): [백준][Java] 1240 노드사이의 거리 - 골드5
·
ProblemSolve/항해99 코테스터디
문제 보기https://www.acmicpc.net/problem/1240  풀이BFS로 문제를 풀었다.시작 노드부터 현재 노드까지의 길이가 얼만지 계속 기록하고현재 노드가 입력된 노드에 도달할 시거리를 출력하였다.  while (!queue.isEmpty()) { int[] node = queue.poll(); if(node[0] == endNode) { bw.write(node[1] + "\n"); break; } for(int j = 0; j BFS를 돌리는 부분인데 특별한 부분은 없다. 나는 Java에서 여러 변수를 한 곳에 담을 필요가 있을 때 같은 타입일 경우 주로 배열을 사용한다.클래스로 만드는 건 귀찮아서 그렇다.편한 쪽으로 하면 좋을 것 같다.  ..
99클럽 코테 스터디 7일차 TIL (미들러): [프로그래머스][Java] 모음사전 - level2
·
ProblemSolve/항해99 코테스터디
문제 보기https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  풀이처음엔 수학적으로 풀고 싶었는데 하다 보니 머리가 아파서살짝 야매인 것 같지만 DFS를 사용해 해결하였다.  private static void dfs(List strings, char[] words, int depth, String cur) { if(depth >= 5) { return; } for (char c : words) { String word = cur + c; string..
99클럽 코테 스터디 6일차 TIL (챌린저): [백준][Java] 2458 키 순서 - 골드4
·
ProblemSolve/항해99 코테스터디
문제 보기https://www.acmicpc.net/problem/2458  풀이 미들러 문제가 이미 해결한 문제라 챌린저만 풀었다. 일단 그래프 탐색이 필요한 문제이다.1. 자신으로부터 진행방향으로 탐색한 노드(자신보다 키가 큰 모든 사람들)2. 자신으로부터 역방향으로 탐색한 노드(자신보다 키가 작은 모든 사람들)1, 2번을 탐색해서 모든 노드 탐색이 가능하다면 자신의 키 순서를 정확하게 알 수 있다. 그림으로 보면 아래와 같다.예시 그림에서 4번 노드를 기준으로 탐색해보자.진행방향 탐색(주황)역방향 탐색(빨강)자신을 합하면 모든 노드를 탐색할 수 있다. 다른 노드들을 기준으로 탐색하면 어떻게 되는지 보자. 꼭 하나씩 탐색하지 못 하는 코드가 생긴다.  private static void dfsBac..