일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- githubactions
- Spring
- 백준
- 스프링부트
- 액세스토큰
- AWS
- 데이터베이스
- springsecurity
- 스프링시큐리티
- 국제화
- docker
- 토이프로젝트
- springsecurityoauth2client
- CI/CD
- 프로그래머스
- 트랜잭션
- java
- 재갱신
- yaml-resource-bundle
- 오블완
- JIRA
- oauth2
- 도커
- 스프링
- 티스토리챌린지
- springdataredis
- 메시지
- 파이썬
- 리프레시토큰
- 소셜로그인
- Today
- Total
목록Algorithm/Programmers (10)
땃쥐네
문제 플랫폼 : 프로그래머스 번호 : 131128 제목 : 숫자 짝꿍 난이도 : Level 1 두 정수 X, Y가 주어졌을 때 공통으로 나타나는 정수 k(0 ≤ k ≤ 9)들(중복 허용)을 이용하여 만들 수 있는 가장 큰 정수 반환 문제 : 링크 필요 지식 파이썬의 경우 카운터를 잘 사용하면 정말 쉽게 풀 수 있는 문제다. 문자열 처리 Python : Counter 풀이 from collections import Counter def solution(x, y): c = Counter(str(x)) & Counter(str(y)) return '-1' if not c else '0' if len(c) == 1 and '0' in c else ''.join(sorted(c.elements(), reverse..
문제 플랫폼 : 프로그래머스 번호 : 042889 제목 : 실패율 (2019 KAKAO BLIND RECRUITMENT 출제) 난이도 : Level 1 전체 스테이지의 개수 N, 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열 stages가 매개변수로 주어질 때, 실패율이 높은 스테이지부터 내림차순으로 스테이지의 번호가 담겨있는 배열을 return 하도록 solution 함수를 완성 문제 : 링크 필요 지식 Counter 사용 정렬 풀이 from collections import Counter from typing import List def solution(n: int, stages: List[int]): results = [[i, 0, 0] for i in range(0, n + ..
문제 플랫폼 : 프로그래머스 번호 : 012926 제목 : 시저 암호 난이도 : Level 1 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성 문제 : 링크 필요 지식 파이썬의 아스키 코드 처리 ord('문자')는 해당 문자의 아스키 코드 번호를 변환한다. 예) ord('0') -> 48 chr(아스키코드)는 해당 아스키 코드를 문자로 변환한다. 예) chr(48) -> '0' 풀이 풀이1 : 아스키 코드 활용 def solution(s: str, n: int): chars = [] for ch in s: if ch.isupper(): chars.append(chr(ord('A') + (ord(ch) - ord('A')+ n) % 26)) elif ch.is..
문제 플랫폼 : 프로그래머스 번호 : 077884 제목 : 약수의 개수와 덧셈 난이도 : Level 1 left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 문제 : 링크 필요 지식 수학 풀이 파이썬으로 풀었다. 풀이1 : 순수하게 약수 전부 카운팅 def solution(left, right): counts = [0, 1, *([2]*(right-1))] for i in range(2, right + 1): for j in range(2 * i, right + 1, i): counts[j] += 1 return sum(i if counts[i] % 2 == 0 else -i for i in range(left, right +..
문제 번호 : 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를 통해, 각각의 요소들의 ..