본문 바로가기

반응형

Java

(20)
프로그래머스 : 가장 긴 팰린드롬 (JAVA) 문제 설명 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예를들면, 문자열 s가 abcdcba이면 7을 return하고 abacde이면 3을 return합니다. 제한사항 문자열 s의 길이 : 2,500 이하의 자연수 문자열 s는 알파벳 소문자로만 구성 입출력 예 sanswer abcdcba 7 abacde 3 입출력 예 설명 입출력 예 #1 4번째자리 'd'를 기준으로 문자열 s 전체가 팰린드롬이 되므로 7을 return합니다. 입출력 예 #2 2번째자리 'b'를 기준으로 aba가 팰린드롬이 되므로 3을 return합니다. 문제유..
프로그래머스 : 기둥과 보 (JAVA) programmers.co.kr/learn/courses/30/lessons/60061 코딩테스트 연습 - 기둥과 보 설치 5 [[1,0,0,1],[1,1,1,1],[2,1,0,1],[2,2,1,1],[5,0,0,1],[5,1,0,1],[4,2,1,1],[3,2,1,1]] [[1,0,0],[1,1,1],[2,1,0],[2,2,1],[3,2,1],[4,2,1],[5,0,0],[5,1,0]] 5 [[0,0,0,1],[2,0,0,1],[4,0,0,1],[0,1,1,1],[1,1,1,1],[2,1,1,1],[3,1,1,1],[2,0,0,0],[1,1,1,0],[2,2,0,1]] [[ programmers.co.kr 문제 설명 빙하가 깨지면서 스노우타운에 떠내려 온 죠르디는 인생 2막을 위해 주택 건축사업에 뛰어..
JAVA : 배열 회전, 배열 90도 회전 방법 위처럼 배열을 회전시키고 싶을 때 사용하는 방법이다. 일단 [2][3] 형태의 int형 배열이 메모리에 잡혀있다고 가정하겠다. 사람이 생각하면 쉽지만 코드로 구현할려면 어려운데 알고보면 간단한 규칙이 존재한다. 4번을 선택 배열의 인덱스는 0부터 시작한다고 했을때 4번의 좌표는 (1,0) 이고 회전 한곳에 좌표는 (0,0) 이란걸 알 수 있다. "5"번을 예시로들면 (1,1) -> (1,0) 으로 이동하였다. 여기서 규칙을 발견한다. (1 , 1 ) -> (1 , 0) 빨간색으로 표신된 영역이 서로 같다는 것! 따라서 다음과같이 표현할 수있다. 여기서 2는 처음 배열의 세로의 크기(위아래의 크기)라는것을 알아낸다. 구현 그럼 이제 아그러면 저식대로 배열을 넣으면 되는 거겟지?? 하고 생각할 수있지만 실수..
프로그래머스 : 자물쇠와 열쇠 문제 설명 고고학자인 튜브는 고대 유적지에서 보물과 유적이 가득할 것으로 추정되는 비밀의 문을 발견하였습니다. 그런데 문을 열려고 살펴보니 특이한 형태의 자물쇠로 잠겨 있었고 문 앞에는 특이한 형태의 열쇠와 함께 자물쇠를 푸는 방법에 대해 다음과 같이 설명해 주는 종이가 발견되었습니다. 잠겨있는 자물쇠는 격자 한 칸의 크기가 1 x 1인 N x N 크기의 정사각 격자 형태이고 특이한 모양의 열쇠는 M x M 크기인 정사각 격자 형태로 되어 있습니다. 자물쇠에는 홈이 파여 있고 열쇠 또한 홈과 돌기 부분이 있습니다. 열쇠는 회전과 이동이 가능하며 열쇠의 돌기 부분을 자물쇠의 홈 부분에 딱 맞게 채우면 자물쇠가 열리게 되는 구조입니다. 자물쇠 영역을 벗어난 부분에 있는 열쇠의 홈과 돌기는 자물쇠를 여는 데 ..
Servlet API란? Gradle을 이용해서 이클립스에 ServletAPI를 등록 JAVA에서는 여러 라이브러리들을 Maven이나 Gradle을 이용해서 간편하게 추가하거나 제거할 수 있다. https://mvnrepository.com/ Maven Repository: Search/Browse/Explore WSO2 Carbon Integration Test Admin Clients Last Release on Aug 7, 2020 mvnrepository.com Servlet API를 추가 할 건데 Servlet API란 JAVA에서 Web에서 HTTP 요청과 응답을 처리하는 API 이다. 위 페이지에서 Servlet API에 들어가서 내가 필요한 API를 탐색한다. 이클립스 기준으로 Gradle을 추가하기 위해서는 file -> new -> other 를 통해서 Gradle Pr..
백준 : 1443 망가진 시계 https://www.acmicpc.net/problem/1443 1443번: 망가진 계산기 첫째 줄에 다솜이의 계산기가 표시할 수 있는 자리수 D와 다솜이가 하려고하는 연산의 수 P가 주어진다. D는 2보다 크거나 같고, 8보다 작거나 같은 자연수이고, P는 30보다 작거나 같은 음이아닌 � www.acmicpc.net Solved 난이도에 비해서 시웠던 문제. 중간에 적절히 가지치기를 해주면서 경우의 수를 구하면된다. 30번 곱할때 수들을 뽑을수 있는 경우의수를 생각하자. 이때 8*8*2 == 2*8*8 는 같기때문에 수들을 내림차순으로 정렬한다고 생각하면 편할것이다. import java.util.Scanner; public class 망가진계산기 { static long N, P; static l..
백준 : 4354 java https://www.acmicpc.net/problem/4354 4354번: 문자열 제곱 문제 알파벳 소문자로 이루어진 두 문자열 a와 b가 주어졌을 때, a*b는 두 문자열을 이어붙이는 것을 뜻한다. 예를 들어, a="abc", b="def"일 때, a*b="abcdef"이다. 이러한 이어 붙이는 것을 곱셈으로 생각한다면, 음이 아닌 정수의 제곱도 정의할 수 있다. a^0 = "" (빈 문자열) a^(n+1) = a*(a^n) 문자열 s가 주어졌을 때, 어떤 문자열 a에 대해서 s=a^n을 만족하는 가장 큰 n을 찾는 프로그램을 작성하시오. www.acmicpc.net KMP 알고리즘의 Pi값을 이용해서 문제를 풀수 있었다. ababab 문자열의 Pi값을 구해보면 = [0, 0, 1, 2, 3, 4]..
백준 : 3025 java (돌 던지기) https://www.acmicpc.net/problem/3025 3025번: 돌 던지기 문제 이 모든 사건의 시작은 2주 전이었다. 그 날 상근이는 복도에 누워서 잠을 자고 있었다. 커다란 돌을 들고 그 옆을 지나가던 민혁이는 복도에서 잠을 자는 사람을 처음봐서 신기하게 쳐다보고 있었다. 그 때였다. 들고 있던 돌을 상근이의 왼 발에 떨어뜨렸다. 상근이는 응급실로 실려갔고, 한 달 동안 침대에 누워서 휴식을 취해야 한다는 진단을 받았다. 민혁이는 미안한 마음에 하던 일을 모두 중단하고 상근이를 간호하기로 했다. 상근이는 2주 동안 온라인 저 www.acmicpc.net 시뮬레이션 문제 하지만 매 쿼리마다 시작지점에서 도착지점을 찾는다면 for문이 3만번 매번돌아서 시간초과를 발생한다. 따라서 현재 쿼리..

반응형