| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
- index of
- StringTokenizer
- lv0
- Lv1
- 프로그래머스 자바
- 큐
- 스프링부트 도커 배포
- 이진수 변환
- Programmers
- 삼각형의 완성조건
- 스프링부트 도커로 배포
- COS Pro
- lv2
- SWEA
- 알고리즘
- 클라이언트
- 백준 N과 M 자바
- 오름차순 정렬
- Queue
- 스택
- 문자열
- 스프링부트 도커
- java
- 프로그래머스 풀이
- 버퍼
- Stack
- 자바
- 프로그래머스 문자열 정렬
- 프로그래머스
- 백준
- Today
- Total
목록2023/10 (20)
mun dev
문제설명 요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다. N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) 출력 예제와 같이 요세푸스 순열을 출력한다. 풀이 문제는 이해 갔지만 어떻게 풀이할지 고민을 많이 했었던..
문제설명 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저의 배치는 다음 조건을 만족한다. 쇠막대기는 자신보다 긴 쇠막대기 위에만 놓일 수 있다. - 쇠막대기를 다른 쇠막대기 위에 놓는 경우 완전히 포함되도록 놓되, 끝점은 겹치지 않도록 놓는다. 각 쇠막대기를 자르는 레이저는 적어도 하나 존재한다. 레이저는 어떤 쇠막대기의 양 끝점과도 겹치지 않는다. 아래 그림은 위 조건을 만족하는 예를 보여준다. 수평으로 그려진 굵은 실선은 쇠막대기이고, 점은 레이저의 위치, 수직으로 그려진 점선 화살표는 레이저의 발사 방향이다. 이러한 레이저와 쇠막대기의 배치는 다음과 같이 괄호를 이용..
문제설명 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니다. 단어 하나 word가 매개변수로 주어질 때, 이 단어가 사전에서 몇 번째 단어인지 return 하도록 solution 함수를 완성해주세요. 제한 사항 word의 길이는 1 이상 5 이하입니다. word는 알파벳 대문자 'A', 'E', 'I', 'O', 'U'로만 이루어져 있습니다. 입출력 예 word result "AAAAE" 6 "AAAE" 10 "I" 1563 "EIO" 1189 입출력 예 #1 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA", "AA..
문제설명 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자 모양 상자의 칸에 하나씩 넣어서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다. 하나의 토마토의 인접한 곳은 왼쪽, 오른쪽, 앞, 뒤 네 방향에 있는 토마토를 의미한다. 대각선 방향에 있는 토마토들에게는 영향을 주지 못하며, 토마토가 혼자 저절로 익는 경우는 없다고 가정한다. 철수는 창고에 보관된 토마토들이 며칠이 지나면 다 익게 되는지, 그 최소 일수를 알고 싶어 한다. 토마토를 창고에 보관하는 격자모양의 상..
CASE WHEN THEN case when then은 조건부 로직을 처리하기 위해 사용됩니다. 조건에 따라 결과를 다르게 반환할 수 있습니다. CASE 기본구조 CASE WHEN 조건1 THEN 결과1 WHEN 조건2 THEN 결과2 .. ELSE 결과 END AS 컬럼명 WHEN으로 조건을 순차적으로 평가해서 참인 경우(THEN)그에 맞는 결과를 반환합니다. 모든 조건이 거짓이라면 ELSE 절의 결과를 반환합니다. ELSE절은 옵션이며 생략이 가능합니다. 만약 ELSE절이 없고 모든 조건이 거짓이면 NULL을 반환합니다. 예시1) 예를 들어, 제품 테이블에서 상품 가격에 따라 할인율 지정하고 그 값을 출력하고 싶다고 가정합니다. 이경우 case문을 이용해서 price컬럼의 값이 1000 이상이면 di..
문제설명 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크기가 N×M인 직사각형으로 나타낼 수 있으며, 직사각형은 1×1 크기의 정사각형으로 나누어져 있다. 연구소는 빈 칸, 벽으로 이루어져 있으며, 벽은 칸 하나를 가득 차지한다. 일부 칸은 바이러스가 존재하며, 이 바이러스는 상하좌우로 인접한 빈 칸으로 모두 퍼져나갈 수 있다. 새로 세울 수 있는 벽의 개수는 3개이며, 꼭 3개를 세워야 한다. 예를 들어, 아래와 같이 연구소가 생긴 경우를 살펴보자. 2 0 0 0 1 1 0 0 0 1 0 1 2 0 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 ..
2023 하반기 현대캐피탈에 지원했다 .. 코딩테스트 본 후기를 남겨둘겸 작성해본다. 코딩테스트는 프로그래머스를 통해 이루어졌다. 14:30까지 입실인데, 또 30분을 대기해야 하기 때문에 15분에 느긋하게 들어갔다. 다들 코테 한 번 봤다면 알겠지만, 주변 환경 촬영하고 휴대폰 카메라도 켜서 시험환경을 세팅해야 하기 때문에 너무 느긋하게 하면 안된다.. 코딩테스트 문제별 후기 1문제 구현문제 였던 것 같다. 코딩테스트 경험이 그렇게 많지 않고 잘하는 편은 아니지만 1번은 그래도 수월하게 풀 수 있었다. 할인율? 관련 문제였다. 2문제 노드 관련해서 나온 문제 였는데 뭘로 풀이할까 하다가 난 DFS로 풀이했다,, 3문제 최대한 많이 팔 수 있는 지점을 찾아서 풀이하는 문제였던 것 같다. 문제를 한참 읽어..
문제설명 N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 입력 첫째 줄에 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 둘째 줄에 N개의 수가 주어진다. 입력으로 주어지는 수는 10,000보다 작거나 같은 자연수이다. 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. 풀이 백트래킹 문제를 접해보기 위해 알고리즘 분류에서 선택해서 문제를 풀이했다. 차례대로 출력해야하므로 입력 받은 배열을 정렬 후 DFS 호출..