일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- oauth2
- 트랜잭션
- 국제화
- CI/CD
- springsecurityoauth2client
- 스프링
- 데이터베이스
- 재갱신
- springdataredis
- 프로그래머스
- 토이프로젝트
- 리프레시토큰
- yaml-resource-bundle
- 백준
- JIRA
- 도커
- 소셜로그인
- Spring
- 스프링시큐리티
- springsecurity
- docker
- java
- githubactions
- 메시지
- 액세스토큰
- 스프링부트
- 티스토리챌린지
- 파이썬
- 오블완
- AWS
- Today
- Total
목록Algorithm (22)
땃쥐네
문제 번호 : 120890 제목 : 가까운 수 난이도 : Level 0 array에 들어있는 정수 중 n과 가장 가까운 수를 return 문제 : 링크 필요 알고리즘 최솟값 알고리즘 정렬 기준 구현 Python def solution(array, n): return min(array, key=lambda x: (abs(n-x), x-n)) min 함수를 통해 다음 기준에 따른 최솟값을 구한다. 첫번째 정렬 기준 : n과 x의 차의 최솟값 두번째 정렬 기준 : x-n (차가 같을 경우 x-n 값이 작을 수록 더 작다) 속도 : 0.00ms ~ 0.02ms 파이썬에서는 숫자도 객체이고, 편리한 기본 함수들이 많이 제공되기 때문에 이런 간결한 코드 작성이 매우 쉽다. Java 풀이1 : Stream 사용 im..

문제 번호 : 120866 제목 : 안전지대 난이도 : Level 0 board가 매개변수로 주어질 때, 안전한 지역의 칸 수를 return 문제 : 링크 필요 알고리즘 인접 방향 배열 private static final int[] DIRECTION_ROW = {0, 1, 1, 1, 0, -1, -1, -1}; // 동 동남 남 남서 서 북서 북 북동 private static final int[] DIRECTION_COLUMN = {1, 1, 0, -1, -1, -1, 0, 1}; // 동 동남 남 남서 서 북서 북 북동 어떤 한 좌표를 기준으로 인접한 방향의 인덱스와의 좌표차(행, 열) 배열로 선언하면 편리한 경우가 많다. 배열 문제의 경우 row, column을 사용하는 것이 편리하고, 수학적인 ..

문제 번호 : 120846 제목 : 합성수 찾기 난이도 : Level 0 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return 문제 : 링크 필요 알고리즘 소수 1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수 합성수 1보다 큰 자연수 중에서 소수가 아닌 수 약수의 개수가 3개 이상인 수 둘 이상의 소수를 곱한 자연수 에라토스테네스의 체 특정 범위의 자연수들의 소수, 합성수 여부를 판단하는 가장 기본적인 알고리즘 1은 소수도 합성수도 아니다. (알고리즘 풀 때 이 부분을 놓치는 경우가 있어서 문제를 잘 읽고 이 부분을 문제에 맞게 잘 체크해야한다.) 2부터 시작한다. 2는 합성수로 체크되어 있지 않으므로 소수이다. 2보다 큰 2의 배수는 모두 합성수이므로 이들을 모두 합성수로 ..
문제 플랫폼 : 프로그래머스 번호 : 042576 제목 : 완주하지 못한 선수 난이도 : Level 1 완주하지 못한 선수의 이름을 return 문제 : 링크 필요 지식 해시 파이썬 : Counter 풀이 Python 풀이1 from collections import Counter def solution(participant, completion): participant, completion = Counter(participant), Counter(completion) for key, value in participant.items(): if key not in completion or completion[key] != value: return key 파이썬에서는 Counter를 통해, 각각의 요소들의 ..
문제 번호 : 120840 제목 : 구슬을 나누는 경우의 수 난이도 : Level 0 서로 다른 balls개의 구슬 중 share개의 구슬을 고르는 가능한 모든 경우의 수 문제 : 링크 필요 알고리즘 재귀 함수에 대한 이해가 필요하다. 조합수에 대한 간단한 이해가 필요하다. (고등학교 수학) 조합수는 n개의 요소에서 r개의 요소를 선택하는 경우의 수이다. 이 글에서는 n개의 요소에서 r개의 요소를 선택하는 조합수를 comb(n,r)이라 할 것이다. 조합수의 성질 comb(n,r) == comb(n, n-r) : n개의 요소에서 r개를 택하는 것은, 나머지 n-r개를 결정하는 것과 같다. comb(n,1) == comb(n,n-1) == n : n개의 요소에서 1개를 택하는 경우의 수는 n가지이다. com..

문제 번호 : 064061 제목 : 크레인 인형뽑기 게임 난이도 : Level 1 문제 : 링크 필요 알고리즘 Stack 자료구조에 대한 이해가 필요하다. java에서 Stack을 사용할 때는 java.util.Stack 을 사용한다. push(삽입), pop(추출), peek(마지막 요소 확인), isEmpty 메서드를 잘 사용하면 된다. Stack에 아무 요소가 없을 가능성이 있으므로 추출할 때는 isEmpty 메서드를 사용해 요소의 존재 여부를 파악해야 한다. peek 메서드를 통해 마지막 요소를 확인할 수 있다. 풀이 github 링크 : 링크 전체 로직 public class Solution { private static int answer = 0; public int solution(int[]..