no image
[백준][JAVA] 2468 안전영역
문제https://www.acmicpc.net/problem/2468 비가 내린 후 잠기지 않은 안전한 영역의 최대 개수 출력풀이import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.*;class Main { private static int [] dx = {-1, 1, 0, 0}; private static int [] dy = {0, 0, -1, 1}; private static int [][] map; private static boolean [][] visit; private static int n; public static void main(String[] args) thro..
2024.09.04
no image
[프로그래머스][JAVA] 문자열 내 마음대로 정렬하기
https://school.programmers.co.kr/learn/courses/30/lessons/12915import java.util.*;class Solution { public String[] solution(String[] strings, int n) { Arrays.sort(strings, (s1, s2) -> { if(s1.charAt(n) != s2.charAt(n)) return s1.charAt(n) - s2.charAt(n); // 오름차순 return s1.compareTo(s2); // n번째 문자가 같을 경우 앞선 문자열이 앞쪽에 }); return strings; ..
2024.07.25
no image
[프로그래머스][JAVA] x만큼 간격이 있는 n개의 숫자
https://school.programmers.co.kr/learn/courses/30/lessons/12954class Solution { public long[] solution(int x, int n) { long[] answer = new long [n]; for(int i=1 ; i 문제x부터 계속 x를 더한 결과를 n개 출력하는 문제였다. 알고리즘x부터 계속 x를 더한다는 말은 곱셈으로 간단히 나타낼 수 있으니 x*i로 쓰고총 n번을 반복하는데 시작이 x*1이여야 하니까 for문을 1~n으로 설정한다.반복문을 1부터 시작하도록 해주었으니 answer[i-1]로 0번째 자리부터 채워지도록 해줬다. 시도처음에는 제한조건을 제대로 보지 않고 시작해서 틀렸다.x*i에서..
2024.07.24
no image
[백준][C/C++] 2156 포도주 시식
문제https://www.acmicpc.net/problem/2156 2156번: 포도주 시식효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규www.acmicpc.net요약조건을 만족하게 포도주를 선택해서 총량의 최대값 구하기 조건1: 나눠 마시기 불가 조건2: 연속 3잔 불가 풀이단서1. 최댓값을 구하는 문제2. 포도주를 하나씩 늘려가면서, i번째 포도주를 선택O or 선택X 하는 경우로 생각 가능 -> 규칙 찾기 가능 일반적인 DP 문제로 짐작 가능=> 규칙을 먼저 찾자=> DP니까 dp 변수 설정, 초기값, 점화식 수립할 것 염두  예시먼저 예시를 들어보자 경..
2023.10.11