99클럽 코테 스터디 26일차 TIL
·
코딩테스트/99클럽 4기
'완벽하게 게임을 했을 때'라는 말이 조금 추상적으로 들렸다.턴이 길어져도 1개씩 가져가는 것인지이길 수 있는 최적의 선택을 하는 것인지문제를 풀고 봤을 때, 이상한 포인트에 고민을 했던 것 같다.후자라고 판단되어, 남은 돌의 갯수가 3개 이상인 경우 3개를 가져갈 수 있도록 하고, 반대라면 1개를 가져가결과적으로 남은 돌의 갯수가 0이 될 때까지 반복할 수 있도록 구현했다. 구현 1 - 일반 반복문import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(Syste..
99클럽 코테 스터디 25일차 TIL
·
코딩테스트/99클럽 4기
각 주사위의 윗면은 이전 주사위의 아랫면과 일치해야 한다는 규칙에 맞게,주사위마다 아랫면과 윗면을 정하고 옆면의 최댓값을 구해야 한다.그리고 ABCDEF 중 정해진 아랫면과 윗면이 없어 모든 경우를 고려해야 한다. 주사위의 마주 보는 면을 구할 때 (0,5) , (1,3) , (2,4) 관계가 고정이므로 해당 조건에 맞게 윗면, 아랫면을 구해야 한다.구해진 면의 주사위 값을 제외한 최댓값을 찾고, 주사위마다 이 과정을 반복한다. 구현import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { public s..
99클럽 코테 스터디 24일차 TIL
·
코딩테스트/99클럽 4기
풀이주어진 wires를 모두 한 번씩 끊었을 때 나올 수 있는 각각의 전력망에서,송전탑의 개수를 비교하여 차이를 반환해야 한다. 모든 wires를 끊어보려면 반복을 돌 때마다 전선 환경을 초기화해줘야 한다.만약 1, 3번 전선을 끊었을 때의 송전탑 차이를 계산했다면계산한 값을 저장해두고 끊었던 전선을 다시 연결해줘야 한다.위 과정을 반복해서 송전탑 차이가 가장 적은 값을 반환해 주면 된다. 구현import java.util.*;class Solution { private List[] tree; private boolean[] visited; public int solution(int n, int[][] wires) { int answer = Integer.MAX_VALUE; ..
99클럽 코테 스터디 23일차 TIL
·
코딩테스트/99클럽 4기
먼저, DFS를 사용하여 주어진 numbers에서 만들 수 있는 모든 숫자를 구해야 한다.DFS 탐색을 돌면서 중복되는 숫자가 만들어질 수 있는데, 만들어진 숫자는 Set에 저장하여 중복을 제거할 수 있다.Set에 저장된 숫자에서 에라토스테네스의 체를 사용하여 소수를 구한다.에라토스테네스의 체소수의 조건은 1과 자기 자신을 약수로 가지는 것이다.17의 경우 1과 17을 약수로 가지므로 소수다. 프로그램에서는 어떻게 판단할 수 있을까? 임의의 수 X가 있다면 X 미만 범위 안에서 2의 배수, 3의 배수... (X - 1)의 배수를 했을 때,X가 배수에 포함된다면 소수이고, 반대라면 소수가 아니다.boolean isPrime(int number) { if (number  구현import java.uti..