분류 전체보기215 [백준] 1105번 '팔' - Java https://www.acmicpc.net/problem/1105문제풀이L과 R의 자리수가 다를 경우 → ans =0L과 R의 자리수가 같은 경우가장 큰 자리수 부터 10의 자리까지 반복문같은 자리의 수가 같고 '8'인지 확인 → ans ++같지만 8이 아닌 것은 continue지만, 같지 않은 수는 break 해야함 (예를 들면, 780과 789에서 7은 continue해야함)두 수가 같은데 마지막이 8이라면 → ans ++ (10의 자리까지 방문하기 때문에 따로 처리)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public cl.. 2024. 8. 21. [백준] 1012번 '유기농 배추' - Java 문제풀이1. BFS 이용 (큐 이용)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.Queue;import java.util.StringTokenizer;public class Main { static int n, m, k; // 상 하 좌 우 static int[] dx = {-1, 1, 0, 0}; static int[] dy = {0, 0, -1, 1}; static int[][] matrix; static boolean[][] visited; static class Node { int x, y; p.. 2024. 8. 19. [프로그래머스] Lv1. 붕대 감기 - Java https://school.programmers.co.kr/learn/courses/30/lessons/250137 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.krhealth를 상수와 같이 사용하고 answer를 변수와 같이 사용했습니다. heal_success로 성공한 횟수를 갱신, 초기화 해주었고, attack_row는 반복문을 돌면서 공격받는 시간의 인덱스를 가져오고자 선언했습니다. 초기화 하는 조건은 1. 성공한 뒤에 추가 회복을 받은 뒤, 2. 공격받은 뒤 이므로, 이 두 가지를 신경써서 구현하면 됩니다. 추가적으로는 최대 체력을 넘거나, 0이하가 .. 2024. 8. 18. [프로그래머스] Lv1. 가장 많이 받은 선물 - Java https://school.programmers.co.kr/learn/courses/30/lessons/258712 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr matrix에 들어가는 내용은 다음과 같습니다.다만, 여기에서 String값으로 들어오는 이름은 Arrays.asList(friends).indexOf(이름); 을 통해 friends의 인덱스로 넣었다고 보면 됩니다. gift_score은 선물 지수가 담길 배열로, matrix를 채우는 동안에 갱신됩니다. 보내는 사람은 +1, 받는 사람은 -1합니다. (선물 지수 계산 방법에 따라서) expecte.. 2024. 8. 17. [백준] 2579번 '계단 오르기' - Java https://www.acmicpc.net/problem/2579문제풀이Bottom-UP: 작은 문제에서 큰 문제로다이나믹 프로그래밍을 이용하여 풀이합니다. dp배열은 해당 인덱스의 계단까지 올라갔을 경우의 점수의 합산을 값으로 넣습니다. 올라가는 경우는 O, 올라가지 않는 경우는 X라고 해봅시다.i번째 계단에 올라간다고 할 경우, i-2, i-1, i 번째 계단은 X O O 혹은 O X O 가 될 수 있습니다. 만약 XOO의 경우에는 dp[i] = dp[i-3] + stair[i-1] + stair[i] 가 되고,OXO의 경우에는 dp[i] = dp[i-2]+stai[i-3] 이 됩니다. 그래서 둘 중 큰 값을 dp[i]에 갱신시켜주면서 위로 올라가는 방식의 풀이입니다. import java.io... 2024. 8. 16. [백준] 1495번 '기타리스트' - Java https://www.acmicpc.net/problem/1495문제풀이이 문제의 핵심 조건은1. 연주 순서대로 입력되는 곡2. 0보다 작은 값으로 볼륨을 바꾸거나, M보다 큰 값으로 볼륨을 바꿀 수 있음이었습니다. DP를 이용하여 풀이했습니다.v배열에는 시작하기 전에 곡에 줄 수 있는 볼륨의 차이를 담고, dp배열의 인덱스의 의미는볼륨, 즉 m까지 담을 수 있으며 각 밸류의 의미는 곡의 순서를 의미합니다. 즉, v배열의 인덱스를 의미합니다. for(int v_idx=1; v_idx q = new LinkedList(); for(int dp_idx=0; dp_idx= 0) q.add(negative); } } while(!q.isEmpty()) { int idx = q.poll();.. 2024. 8. 13. 이전 1 2 3 4 5 6 ··· 36 다음