til(36)
-
99클럽 코테 스터디 6기 16일차 TIL (미들러)
문제: 백준 18126번 너구리 구구 풀이 방법 전형적인 그래프 문제로 DFS 혹은 BFS로 값을 구할 수 있다. 여기서 주의해야 할 점이 있다면, 가중치 값이 int 범위를 초과할 수 있기 때문에 반환 값의 형식을 long으로 설정해야 한다. 전체 코드public class Main { static ArrayList[] graph; static boolean[] visited; static long maxDistance = 0; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ..
2025.04.22 -
99클럽 코테 스터디 6기 16일차 TIL (미들러)
문제: 프로그래머스 신규 아이디 추천 풀이 방법 위와 같이 규칙에 맞는 아이디를 추천해주는 프로그램을 개발하는 것인데, 특별한 알고리즘이 필요하진 않고 요구한 것을 차례대로 구현하면 된다. 사실 정규표현식만 제대로 숙지하고 있으면 어려운 문제가 아니다. 하지만 난 정규 표현식에 익숙하지 않아서 그런지 클린하지 못한 코드를 작성하고 시간도 오래 걸렸다. 첫 번째 시도import java.util.Stack;class Solution { public String solution(String new_id) { char[] charId = new_id.toCharArray(); Stack stack = new Stack(); Character first = char..
2025.04.21 -
99클럽 코테 스터디 6기 15일차 TIL (미들러)
문제: 백준 17271번 리그 오브 레전설(Small) 풀이 방법A와 B의 스킬로 N시간 안에 가능한 스킬 조합을 찾는 문제다.스킬을 사용하지 않는 시간이 없어야 한다는 조건이 있기에 중간에 빈 시간이 없도록 만들어야 한다. 이 문제는 하위 문제의 중복으로 다이나믹 프로그래밍 알고리즘을 사용하여 풀 수 있다. 전체 코드public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] input = br.readLine().split(" "); ..
2025.04.18 -
99클럽 코테 스터디 6기 14일차 TIL (미들러)
문제: 백준 17484번 진우의 달 여행(Small) 풀이 방법달의 도달하기 위해 필요한 최소 연료 값을 구하는 것인데, 이 문제에서의 조건은 같은 방향으로 연달아 움질일 수 없다는 점이다. 해당 조건 때문에 이 문제를 풀기까지 굉장히 오랜시간이 걸린 것 같다. 문제를 읽어보니 다이나믹 프로그래밍으로 풀어야 한다고 생각을 했는데, 방향이라는 조건이 있다보니 3차원 배열을 사용해야 했다. 스스로 풀기에 한계를 느껴 인공지능에게 도움을 받았다. 전체 코드public class Main { public static void main(String[] args) throws IOException { // 입력 및 저장 BufferedReader br = new BufferedRe..
2025.04.17 -
99클럽 코테 스터디 6기 13일차 TIL (미들러)
문제: 프로그래머스 JadenCase 문자열 만들기 풀이 방법이 문제에서 요구하는 건 첫글자는 대문자로, 나머지 글자는 소문자로 바꾸는 문제이다. 별다른 알고리즘이 필요하지 않고 구현만 하면 된다. 첫시도(실패)class Solution { public String solution(String s) { String[] arr = s.split(" "); String answer = ""; for (int i = 0; i 이 코드에서 오류가 날 수 밖에 없었던 이유는 시간 초과도 있었고 첫 글자를 제외한 나머지 글자가 숫자일 때 LowerCase() 변경하는 과정에서 생길 수 밖에 없었다. 최종 코드class Solution { public String..
2025.04.16 -
99클럽 코테 스터디 6기 12일차 TIL (미들러)
문제: 백준 2156번 포도주 마시기 풀이 방법일단 이 문제는 정렬이 안되기에 탐색은 어려울 것 같다는 생각이 들었고, 중복적으로 계산을 시도해야 하기 때문에 다이나믹 프로그래밍으로 풀어야 한다고 생각이 들었다. 첫시도(실패)public class Main { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int[] wine = new int[n]; ..
2025.04.15