목록분류 전체보기 (157)
원하는 것은 뭐든지
문제풀이문제 해석1. 회문은 앞 뒤 방향으로 볼 때 같은 순서의 문자로 구성된 문자열을 말한다. ex) 'abba', 'qwerewq' 등2. 완전한 회문은 아니지만 글자 중 하나를 지워서 회문이 된다면 유사회문이라고 부른다. ex) 'summuus' 'xabba' 등3. 첫째 줄에 테스트 케이스 T를 입력으로 밑으로 T개의 줄에 문자열이 입력으로 주어진다.4. 각 테스트 케이스가 회문이면 0, 유사회문이면 1, 둘 다 아니면 2를 출력한다. 풀이1. 처음과 끝을 비교하여 같으면 한칸씩 전진, 후진한다.2. 만약 다른 글자가 나오면 각각을 지운 후 회문이 되는지 확인한다.3. 회문이 된다면 유사회문이고 안된다면 보통 문자열이다.소스코드import java.io.BufferedReader;import ja..
문제예제 입/출력5 6*.*.....||....@*|*.*.*....*##.4 57 9...#...#..*.*..*.....*..#.....**.*...*..*.@...#...**....#.#..*.10 8풀이입력으로 지도가 주어지는데 지도에는 @: 진원지.: 일반 도로*: 내진 설계가 되어있지 않은 건물#: 내진 설계가 되어있는 건물|: 방파제의 것들이 들어있다.진원지는 상하좌우 각 방향으로 2의 충격을 줄 수 있고 그로 인해 무너진 건물들은 여진을 발생시키며 각 방향으로 1의 충격을 준다.내진 설계가 이루어진 건물 같은 경우 두 번의 충격이 닿아야 무너지지만 내진 설계가 되어있지 않다면 바로 무너진다.지진 방파제를 만나면 즉시 멈춘다.제출 1 - 정답import java.io.BufferedReade..
문제풀이너무너무 어렵다..처음에 무조건 0에 방문하는데 그게 첫 번째 방문이다.만약 방문이 홀수일 때 다음 날 nextVisit[i]를 방문한다.짝수 일 때 다음 날 i+1을 방문한다.여기까지가 내가 생각한 부분이고 규칙을 찾으려고 하다가 실패해서 결국 다른 사람들의 풀이를 봤다..근데 이해가 잘 안된다... 다른 사람의 풀이 참고class Solution { public int firstDayBeenInAllRooms(int[] nextVisit) { long mod = 1_000_000_007l; int[] dp = new int[nextVisit.length]; for(int i=1;i 다음으로 가는 경우에는 i-1에서 바로 넘어오거나 홀 수..
문제풀이어제의 문제의 업그레이드 형이다.그리드가 주어지는데 그리드 어디에든 장애물이 있을 수 있다.장애물에는 들리지 않고 도착점인 m-1, n-1까지 가는 최소 경로의 개수를 구하면 된다. 제출 1 - 정답class Solution { public int uniquePathsWithObstacles(int[][] obstacleGrid) { int m = obstacleGrid.length; int n = obstacleGrid[0].length; //시작점, 도착점이 장애물이면 불가능 if(obstacleGrid[m-1][n-1] == 1 || obstacleGrid[0][0] == 1) return 0; //0을 포함하고 있으면 ..