본문 바로가기

전체 글

(107)
1107 리모컨 JAVA 리모컨 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 256 MB 77942 18679 12949 22.556%문제 수빈이는 TV를 보고 있다. 수빈이는 채널을 돌리려고 했지만, 버튼을 너무 세게 누르는 바람에, 일부 숫자 버튼이 고장났다. 리모컨에는 버튼이 0부터 9까지 숫자, +와 -가 있다. +를 누르면 현재 보고있는 채널에서 +1된 채널로 이동하고, -를 누르면 -1된 채널로 이동한다. 채널 0에서 -를 누른 경우에는 채널이 변하지 않고, 채널은 무한대 만큼 있다. 수빈이가 지금 이동하려고 하는 채널은 N이다. 어떤 버튼이 고장났는지 주어졌을 때, 채널 N으로 이동하기 위해서 버튼을 최소 몇 번 눌러야하는지 구하는 프로그램을 작성하시오. 수빈이가 지금 보고 있는 채널은 100번이다..
1759 암호 만들기 JAVA 암호 만들기 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 128 MB 53340 25106 17371 44.531%문제 바로 어제 최백준 조교가 방 열쇠를 주머니에 넣은 채 깜빡하고 서울로 가 버리는 황당한 상황에 직면한 조교들은, 702호에 새로운 보안 시스템을 설치하기로 하였다. 이 보안 시스템은 열쇠가 아닌 암호로 동작하게 되어 있는 시스템이다. 암호는 서로 다른 L개의 알파벳 소문자들로 구성되며 최소 한 개의 모음(a, e, i, o, u)과 최소 두 개의 자음으로 구성되어 있다고 알려져 있다. 또한 정렬된 문자열을 선호하는 조교들의 성향으로 미루어 보아 암호를 이루는 알파벳이 암호에서 증가하는 순서로 배열되었을 것이라고 추측된다. 즉, abc는 가능성이 있는 암호이지만 bac는..
1781 컵라면 JAVA 컵라면 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 256 MB 9153 2702 2028 30.990%문제 상욱 조교는 동호에게 N개의 문제를 주고서, 각각의 문제를 풀었을 때 컵라면을 몇 개 줄 것인지 제시 하였다. 하지만 동호의 찌를듯한 자신감에 소심한 상욱 조교는 각각의 문제에 대해 데드라인을 정하였다. 문제 번호 1 2 3 4 5 6 7 데드라인 1 1 3 3 2 2 6 컵라면 수 6 7 2 1 4 5 1 위와 같은 상황에서 동호가 2, 6, 3, 1, 7, 5, 4 순으로 숙제를 한다면 2, 6, 3, 7번 문제를 시간 내에 풀어 총 15개의 컵라면을 받을 수 있다. 문제는 동호가 받을 수 있는 최대 컵라면 수를 구하는 것이다. 위의 예에서는 15가 최대이다. 문제를 푸는데는..
JAVA 로 KS X ISO8601을 따라 특정 월 주차 구하기 getFirstWeekInMonth(int year, int month) : 년도와 월을 입력받아 해당 월의 첫 주가 년도의 몇번째 주인지 반환 getLastWeekInMonth(int year, int month) : 년도와 월을 입력받아 해당 월의 마지막 주가 년도의 몇번째 주인지 반환 표준번호 KS X ISO8601을 따라 월의 첫번째 목요일이 있는 주가 첫째 주 import java.io.IOException; import java.util.Calendar; public class Main{ public static void main(String[] args) throws IOException { for (int i = 1; i 첫주는 최소 4일 이상을 포함하고 있음 */ cal.setMinima..
JAVA 특정 월 주마다 날짜 가져오기 년도와 월을 인자로 받아 해당 년월의 주차 정보를 보여준다. public void findWeekWithYearAndMonth(int year, int month) { Calendar cal = Calendar.getInstance(); int overWeek = 0; for (int week = 1; week < cal.getMaximum(Calendar.WEEK_OF_MONTH); week++) { cal.set(Calendar.YEAR, year); // 년도 세팅 cal.set(Calendar.MONTH, month - 1); // 월 세팅 (Calendar는 0~11이기 때문에 -1 해줌) cal.set(Calendar.WEEK_OF_MONTH, week); // 주차 세팅 cal.set(Cal..
git action + docker를 이용한 spring boot ci/cd 구성하기 컴퓨터에 도커가 설치되어 있다는 것과 스프링 부트 프로젝트가 존재한다는 가정 하에 진행한다. Dockerfile 을 통해 이미지 및 컨테이너 생성 우선 프로젝트 디렉토리 최상단에 다음과 같이 Dockerfile을 작성한다. Dockerfile의 내용은 아래와 같다. FROM openjdk:11 ENV APP_HOME=/usr/app/ WORKDIR $APP_HOME COPY build/libs/*.jar application.jar EXPOSE 8080 CMD ["java", "-jar", "application.jar"] FROM openjdk:11: openjdk의 11버전을 기본 도커 이미지로 사용한다. ENV APP_HOME=/usr/app/ : 만들어진 도커 컨테이너 내부 /usr/app이라는 ..
16235 나무 재테크 (Java) 나무 재테크 문제 부동산 투자로 억대의 돈을 번 상도는 최근 N×N 크기의 땅을 구매했다. 상도는 손쉬운 땅 관리를 위해 땅을 1×1 크기의 칸으로 나누어 놓았다. 각각의 칸은 (r, c)로 나타내며, r은 가장 위에서부터 떨어진 칸의 개수, c는 가장 왼쪽으로부터 떨어진 칸의 개수이다. r과 c는 1부터 시작한다. 상도는 전자통신공학과 출신답게 땅의 양분을 조사하는 로봇 S2D2를 만들었다. S2D2는 1×1 크기의 칸에 들어있는 양분을 조사해 상도에게 전송하고, 모든 칸에 대해서 조사를 한다. 가장 처음에 양분은 모든 칸에 5만큼 들어있다. 매일 매일 넓은 땅을 보면서 뿌듯한 하루를 보내고 있던 어느 날 이런 생각이 들었다. 나무 재테크를 하자! 나무 재테크란 작은 묘목을 구매해 어느정도 키운 후 팔..
10844 쉬운 계단 수 쉬운 계단 수 문제 45656이란 수를 보자. 이 수는 인접한 모든 자리의 차이가 1이다. 이런 수를 계단 수라고 한다. N이 주어질 때, 길이가 N인 계단 수가 총 몇 개 있는지 구해보자. 0으로 시작하는 수는 계단수가 아니다. 입력 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 100보다 작거나 같은 자연수이다. 출력 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. 풀이 N 이 1일 때 가능한 수는 다음과 같다. 1 : 1 2 : 2 3 : 3 4 : 4 5 : 5 6 : 6 7 : 7 8 : 8 9 : 9 N이 2일 때 가능한 수는 다음과 같다. 1 : 10, 12 2 : 21, 23 3 : 32, 34 4 : 43, 45 5 : 54, 56 6 : 65, 67 7 :..