99클럽 코테 스터디 12일차 TIL (챌린저): [프로그래머스][Java] 도넛과 막대 그래프 - level2
·
ProblemSolve/항해99 코테스터디
문제 보기https://school.programmers.co.kr/learn/courses/30/lessons/258711 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  풀이나는 문제가 너무 어려워서 거의 답을 보고 풀었다.혼자서 푸려고 했지만 계속 오답이 나왔다...일단 그래프들의 특징을 찾아야 한다. 8자 모양  8자 모양 그래프는 중간에 나가는 간선 두 개, 들어오는 간선 두 개가 있는 노드가 존재한다는 특징이 있다. 막대 모양 막대 모양 그래프는 들어오는 간선은 있지만 나가는 간선은 없는 노드가 있다는 특징이 있다.물론, 나가는 간선은 있지만 들어오는 간선은 없는 노드도 있다!그러나 생성한 ..
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..