일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- diffusion model
- 네이버 부스트캠프 ai tech 6기
- 코딩테스트
- controllable video generation
- video editing
- diffusion
- BOJ
- Vit
- 3d generation
- 논문리뷰
- image editing
- video generation
- DP
- visiontransformer
- VirtualTryON
- transformer
- Python
- dreammotion
- magdiff
- 프로그래머스
- Programmers
- 코테
- emerdiff
- controlnext
- score distillation
- 3d editing
- masactrl
- segmenation map generation
- segmentation map
- diffusion models
- Today
- Total
목록코딩 테스트 준비 (30)
평범한 필기장
https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 방식 & 코드 맨 앞에 있는 수부터 탐색해서 그 수보다 큰 수가 나오면 그 수를 answer에 넣고 break하고, 안나요면 -1을 넣는다. 그렇게 모든 수를 탐색하면 정답은 나온다. 하지만 이중 for문을 이용하다보니 시간초과가 나온다. def solution(numbers): answer = [] for i in range(len(numbers)-1): num = -1 for j i..
https://school.programmers.co.kr/learn/courses/30/lessons/77885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 생각한 풀이 방식 이진수에 0이 있는 경우와 없는 경우 2가지 경우로 나누어서 생각했다. 이진수에 0이 없을 경우, 맨앞 1을 0으로 바꾸고 앞자리에 1을 추가한다. (예 111 -> 1011) 이진수에 0이 있을 경우, 0들 중에서 맨뒤에 있는 0을 1로 바꾼다. 이렇게 풀 경우 5의 경우 101인데 111로 바뀌게 된다. 하지만 101의 경우 110이 되어야 2비트 이하로 바꾸면서 최소가..
https://school.programmers.co.kr/learn/courses/30/lessons/42578 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 방식 -> 시간 초과 옷 종류별로 몇개가 있는지를 나타내기 위해 dictionary 자료구조를 이용했다. 하나 이상의 옷 종류를 고르는 모든 경우의 수를 옷 종류의 개수로 표현해서 리스트를 만든다. 아래의 사진은 테스트 케이스에 대해 실행해서 나온 결과이다. 출력 부분에 dictionary와 dictionary의 value들, 모든 경우의 수를 표현한 리스트를 출력한 결과이다. 모든 경우..
https://school.programmers.co.kr/learn/courses/30/lessons/17677 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이방식 입력으로 들어오는 문자열을 소문자로 바꾸고 i번째와 i+1번째 문자 둘다 알파벳일 때 리스트에 넣는다. 리스트 둘 다 빈 리스트면 65536이 return되게 한다. 아니면 공통된 문자열들은 intersection에 넣고, 모든 문자열들을 union에 넣는다 문제점 : 여러번 나오는 문자열들을 intersection에는 적게 나온 횟수만큼, union에는 많이 나온 횟수만큼 넣어야 하..
https://school.programmers.co.kr/learn/courses/30/lessons/17684 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 생각한 풀이방식 'A~Z'를 key값으로 하고 1~26을 value값으로 하는 딕셔너리를 만든다. i번째부터 딕셔너리에 있는 값이면 딕셔너리에 있는 값까지 j에 1씩 더해서 딕셔너리에 없을 때까지 반복 딕셔너리에 없으면 j-1까지의 문자열의 value값을 리스트에 넣고 j까지의 문자열을 딕셔너리에 추가하고 key값은 딕셔너리 길이에 +1로 해준다. 이런 식으로 하니까 테스트 케이스 1제외하고..
https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 생각한 풀이방식 나는 연속된 문자가 나타나면 제거하고 제거되고 남은 문자들을 이어붙이는 방식으로 풀려고 했다. 아래 코드와 같이 푸니까 시간초과가 났다. Stack 자료구조를 이용할 생각을 못했다. def solution(s): while True: if len(s) == 0: return 1 bf_s = str(s) for i in range(len(s) - 1): if s[i] == s[..
https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 내가 생각한 풀이 나는 리스트의 각 지점까지의 증가하는 수열을 직접 만들어서 풀려고 했다. 아래 내 코드를 보면 i번째 이전의 수들을 리스트에 넣으려했다. 그 수가 수열의 마지막 수보다 크면 수열 리스트에 넣어 각 지점까지의 수열의 길이를 다 구하려 했다. 하지만 input 리스트가 1 3 5 100 101 77 78 ..
https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 내 풀이방식 Dynamic Programming 방식을 이용했다. n이 5일때까지 직접 써보면 규칙을 발견할 수 있는데, n의 방법의 수는 n-1, n-2, n-3의 방법의 수를 다 더한 것이 된다. (이렇게 하나하나 해보면서 규칙을 찾아나가는게 맞는지는 모르겠다ㅜㅜ) 이 규칙을 그대로 구현만 하면 되는데, 엄청 간단하다! 내 코드 t = int(input()) for _ in range(t): n = int(input()) dp = [0, 1, 2, 4] for i in range(4, n+1..
https://www.acmicpc.net/problem/17626 17626번: Four Squares 라그랑주는 1770년에 모든 자연수는 넷 혹은 그 이하의 제곱수의 합으로 표현할 수 있다고 증명하였다. 어떤 자연수는 복수의 방법으로 표현된다. 예를 들면, 26은 52과 12의 합이다; 또한 42 + 32 + 1 www.acmicpc.net 이 문제는 내가 아예 이해를 잘못해서 접근을 아예 잘못해서 틀렸다. import math n = int(input()) cnt = [] while True: # print(int(math.sqrt(n))) if int(math.sqrt(n)) not in cnt: cnt.append(int(math.sqrt(n))) n -= int(math.sqrt(n)) **..
https://www.acmicpc.net/problem/16206 16206번: 롤케이크 오늘은 재현이의 생일이다. 재현이는 친구 N명에게 롤케이크를 1개씩 선물로 받았다. 롤케이크의 길이는 A1, A2, ..., AN이다. 재현이는 길이가 10인 롤케이크만 먹는다. 따라서, 롤케이크를 잘라서 www.acmicpc.net 내가 생각한 방식 예제 입력 4를 직접 해보면 알겠지만, 작은 수부터 잘라야 최대의 개수가 나오기 때문에 케이크 길이를 저장한 리스트를 오름차순으로 정렬한다. 케이크 길이가 10이 넘으면 10으로 자르고 10인 케이크 개수를 1개 늘린다. -> 케이크 길이가 10보다 작거나 같아질 때까지 반복 남은 케이크의 길이가 10이면 개수를 1개 늘린다. 케이크 리스트에 있는 모든 케이크에대해 ..