| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 데이터베이스
- 익명객체
- 현대오토에버 코딩테스트
- 알고리즘
- Java
- dfs
- 프로그래머스
- 금융IT
- 자바
- 개발
- 삼성sw문제
- backjoon
- CKLU
- 재귀함수
- BFS
- 조합
- 백준
- 익명클래스
- 삼성SW테스트
- 백준 알고리즘
- 멀티스레드
- 모바일
- 언더라이터
- 안드로이드
- Android
- 네트워크
- 너비탐색
- 다이나믹 프로그래밍
- dp
- IT
- Today
- Total
목록Algorithm/Programmers (15)
Limky 삽질블로그
https://www.welcomekakao.com/learn/courses/30/lessons/42839?language=java 코딩테스트 연습 - 소수 찾기 | 프로그래머스 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. 013은 0, 1, 3 숫자가 적힌 종이 www.welcomekakao.com 문제를 보면...숫자를 몇개 줄테니 ..
프로그래머스 #DFS - 단어변환 https://programmers.co.kr/learn/courses/30/lessons/43163?language=cpp 사용한 개념 DFS 문제입니다. 탐색가능한 단어를 찾고, 다시 탐색한 단어으로 탐색가능한 단어를 찾고.. 이 과정에서 일전에 지나왔던 단어는 다시 탐색하지 않습니다! 왜냐..무한 재귀를 돌기 때문이죠..또한, 최소탐색횟수를 구하는 문제에 철학에도 맞지 않습니다. 저는 아래와 같은 프로세스로 해당 문제를 해결했습니다. 1. 탐색 가능한 단어찾기 (알파벳 1개만 다른경우만 가능 : 중복체크를 방지하기 위해 한번 찾은 알바벳을 의미 없는 문자로 대체) 2. 탐색 가능한 단어가 일전에 탐색한 단어인지 체크(새로운 단어인 경우만 탐색) 3. 타켓을 구하면,..
Programmers Level_03 가장 큰 정사각형 찾기 (find Largest Square)O와 X로 채워진 표가 있습니다. 표 1칸은 1 x 1 의 정사각형으로 이루어져 있습니다. 표에서 O로 이루어진 가장 큰 정사각형을 찾아 넓이를 반환하는 findLargestSquare 함수를 완성하세요. 예를 들어12345XOOOXXOOOOXXOOOXXOOOXXXXX가 있다면 정답은12345XOOOXXOOOOXXOOOXXOOOXXXXX가 되며 넓이는 9가 되므로 9를 반환해 주면 됩니다. 저는 점화식 DP로 풀었습니다.1 11 1 인 경우 (1,1) 에 있는 값은 (1,0),(0,0),(0,1) 3방향에 있는 값들이 모두 1이상이면 이 3가지 값 중에 가장 작은 값에서 +1을 한 값이 결국 (1,1)의 값..
Programmers Level_03 땅 따먹기 게임 (Hopscotch) 영희는 땅따먹기 게임에 푹 빠졌습니다. 땅따먹기 게임의 땅은 총 N행 4열로 나누어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 땅을 밟으면서 한 행씩 내려올 때, 영희는 각 행의 4칸 중 1칸만 밟으면서 내려올 수 있습니다. 땅따먹기 게임에는 같은 열을 연속해서 밟을 수가 없는 특수 규칙이 있습니다. 즉, 1행에서 (5)를 밟았다면, 2행의 (8)은 밟을 수가 없게 됩니다. 마지막 행까지 모두 내려왔을 때, 점수가 가장 높은 사람이 게임의 승자가 됩니다. 여러분이 hopscotch 함수를 제작하여 영희가 최대 몇 점을 얻을 수 있는지 알려주세요. 예를 들어 1 2 3 5 5 6 7 8 4 3 2 1 의 땅이 있다면, 영희는 각 ..
Programmers Level_03 야근지수 (NoOverTime) 야근 지수 회사원인 수민이는 많은 일이 쌓여 있습니다. 수민이는 야근을 최소화하기 위해 남은 일의 작업량을 숫자로 메기고, 일에 대한 야근 지수를 줄이기로 결정했습니다. 야근 지수는 남은 일의 작업량을 제곱하여 더한 값을 의미합니다. 수민이는 1시간 동안 남은 일 중 하나를 골라 작업량 1만큼 처리할 수 있습니다. 수민이의 퇴근까지 남은 N 시간과 각 일에 대한 작업량이 있을 때, noOvertime 함수를 제작하여 수민이의 야근 지수를 최소화 한 결과를 출력해 주세요. 예를 들어, N=4 일 때, 남은 일의 작업량이 [4, 3, 3] 이라면 야근 지수를 최소화하기 위해 일을 한 결과는 [2, 2, 2]가 되고 야근 지수는 22 + 2..
Programmers Level_04 최고의 집합 (Best Set) 자연수 N개로 이루어진 집합 중에, 각 원소의 합이 S가 되는 수의 집합은 여러 가지가 존재합니다. 최고의 집합은, 위의 조건을 만족하는 집합 중 각 원소의 곱이 최대가 되는 집합을 의미합니다. 집합 원소의 개수 n과 원소들의 합 s가 주어지면, 최고의 집합을 찾아 원소를 오름차순으로 반환해주는 bestSet 함수를 만들어 보세요. 만약 조건을 만족하는 집합이 없을 때는 배열 맨 앞에 –1을 담아 반환하면 됩니다. 예를 들어 n=3, s=13이면 [4,4,5]가 반환됩니다. (자바는 집합이 없는 경우 크기가 1인 배열에 -1을 담아 반환해주세요.) package Programmers.level04; import java.util.Arr..
Programmers Level_03 점프뛰기 (JumpCase) 효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2칸) 의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 출력하는 jumpCase 함수를 완성하세요. 예를 들어 4가 입력된다면, 5를 반환해 주면 됩니다. package Programmers_Level03; public class JumpCase { public static void main(String[] arg..
Programmers Level_02 시저암호(Caesar) 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다.A를 3만큼 밀면 D가 되고 z를 1만큼 밀면 a가 됩니다. 공백은 수정하지 않습니다.보낼 문자열 s와 얼마나 밀지 알려주는 n을 입력받아 암호문을 만드는 ceasar 함수를 완성해 보세요.-> “a B z”,4를 입력받았다면 “e F d”를 리턴합니다. package Programmers_Level03; public class Caesar { public static void main(String[] args) { // TODO Auto-generated method stub Caesar c = new Caesar(); System.ou..