일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 2163번
- 권주현의 진짜 영국 영어
- codility
- SecurityFilterChain
- 11727번
- 입이 트이는 영어
- 알고리즘
- 파이썬
- 신규아이디추천
- 1793번
- 분할정복
- EBS어학당
- Spring Security
- 백준
- 프로그래머스
- 2630번
- BinaryGap
- 18406번
- github
- WebSecurityConfigurerAdapter
- caniuse
- python
- 1759번
- 11047번
- 9251번
- Java
- 영어
- 1057번
- programmers
- 1992번
- Today
- Total
목록알고리즘 (21)
철갑이의 이모저모
문제 https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 풀이 1. 모든 난쟁이의 키를 합해줍니다. 2. 7명의 난쟁이 키의 합이 100이기 때문에 즉, (9명 난쟁이 키의 합) - (2명 가짜 난쟁이 키의 합) = 100 이라고 볼 수 있습니다. 분명 맞은 것 같은데 계속 틀려서 고민을 했습니다.. ▼ 그래서 찾은 반례 더보기 20 7 23 19 10 15 24 8 답 import java.io.BufferedReader; import java.io.Bu..
문제 https://app.codility.com/programmers/lessons/2-arrays/cyclic_rotation/ CyclicRotation coding task - Learn to Code - Codility Rotate an array to the right by a given number of steps. app.codility.com 풀이 배열 A와 자연수 K를 입력하면 A의 각 요소를 오른쪽으로 K번 이동시키는 문제이다. pop()은 가장 마지막 요소를 돌려주고 리스트에서는 그 요소를 삭제한다. 그리고 insert(N,M)은 배열의 N번째에 M의 값을 삽입한다. 이를 이용해 배열 A가 존재할때 A의 가장 마지막 요소(A.pop())를 A의 첫번째 위치에 삽입(insert(0,A..
문제 https://app.codility.com/programmers/lessons/1-iterations/binary_gap/ BinaryGap coding task - Learn to Code - Codility Find longest sequence of zeros in binary representation of an integer. app.codility.com 풀이 정수 N을 이진법으로 표현했을 때 연속되는 0의 최대 시퀀스를 구하는 문제이다. 먼저, 정수 N을 이진법으로 표현하기 위해 format() 함수를 사용했다. format() 함수 사용법은 아래 링크에서 확인이 가능하다. 간단하게 설명하자면 format(value, format_spec) 형식으로 사용할 수 있고. format(N,..
문제 https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 풀이 1. 여벌 체육복을 가져온 학생이 도난당했을 경우는 체육복을 빌려줄 수 없는 케이스라고 볼 수 있다. 때문에 lost 와 reserve의 중복 값을 set 집합 자료형을 이용해 제거했다. set의 경우 sorted를 사용해 정렬이 된다. (다만, set을 list로 만들게 되면 순서가 랜덤으로 나열된다) 2. 두 명(앞사람, 뒷사람)다 여분이 있을때는 ..
문제 https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 풀이 딕셔너리 자료형과 정규식을 이용해서 풀이함. 딕셔너리란? 간단하게 정리하자면 Key와 Value를 한 쌍으로 갖고 있는 자료형이다. 기본 구조는 {Key1:Value1, Key2:Value2, ...} 로 되어있다. Key에는 변하지 않는 값을 사용하고, Value에는 변하지 않는 값도 사용 가능하다. https://happylsm76.ti..
문제 https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 풀이 https://docs.python.org/3/library/re.html re — Regular expression operations — Python 3.10.2 documentation This module provides regular expression matching operations similar to those found in ..
문제 programmers.co.kr/learn/courses/30/lessons/43105 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr 풀이 답 def solution(triangle): for i in range(1,len(triangle)): for j in range(i+1): if j == 0: triangle[i][j] += triangle[i-1][j] elif j == i: triangle[i][j] += triangle[i-1][j-1] else: triangle[i][j] += max(triangle[i-1][j-1], triangle[i-1][j]) return..
문제 programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 풀이 각각의 수포자들 패턴과 답안을 비교해서 카운트 enumerate() 함수를 이용해 인덱스 값을 받아 출력한다. 답 def solution(answers): no_1 = [1, 2, 3, 4, 5] no_2 = [2, 1, 2, 3, 2, 4, 2, 5] no_3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5] cnt = [0, 0, 0] for i in ..
문제 www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 풀이 동전의 갯수가 최솟값을 가져야 하기 때문에 큰 수 부터 나눠준다. 동전의 가치가 오름차순으로 입력이 되기 때문에 coin[::-1](리스트 역으로 출력) 사용, pop() 으로 작성해도 된다. 1. k원을 동전의 가치로 나눠주고(몫만 필요하기 때문에 // 사용) 2. k원에서 (1에서 나온 몫 * 동전의 가치)를 빼준 후 3. 코인 개수..
문제 www.acmicpc.net/problem/9251 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net 풀이 먼저 LCS(Longest Common Subsequence, 최장 공통 부분 수열)는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 부분을 말한다. 예시로 ACAYKP와 CAPCAK를 이용해 표를 그려보았다. ACAYKP를 비교 대상으로 잡고 CAPCAK 문자열 하나씩 추가하면서 공통 수열 길이 값을 표시해준다. 위와 같이 반복을 하..