일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 티스토리챌린지
- disposableeffect
- 백준파이썬
- 리스트
- 자바리스트정렬
- 자바set
- Provider
- ContentProvider
- 문자열
- 자료형
- android
- Kotlin
- 자바
- Python
- list
- composelifecycle
- jetpack
- compose
- filternotnull()
- Dependency
- Hilt
- 프로그래머스
- programmers
- Java
- 배열
- 오블완
- 파이썬
- nullpointerexception방지
- 백준
- 파이썬문법
- Today
- Total
목록백준 (7)
study gomi

내 제출 - 숫자의 범위가 정해져 있어서 에라토스테네스의 체를 써서 전체 소수를 먼저 구해뒀다. (에라토스테네스의 체 설명 참고 : https://taetaegom.tistory.com/39) - 골드바흐의 체 함수 내에서 잘 못 짠 게 있어서 계속 수정을 했다. - 검사해야 하는 수는 그대로 두고 그 수의 절반 값 까지만 소수 -> 빼도 소수인지 확인하면 되는데 첨에 아무 생각 없이 비교 대상이 되는 소수 리스트 목록을 반으로 자르고 1~검사해야 하는 수를 비교했다. 오잉또잉...ㅋ - 그 다음에는 바보같이 break를 달아서 검사중인 숫자가 소수가 아니면 그냥 바로 과정이 끝나버리게 했다. - 여튼... 다시 보니 어려울 게 없는 건데 엄청 헤맸다. def sieve_of_eratosthenes(nu..

내 제출 - 물론 '단계별로 풀기'를 통해 쉬운 것부터 풀고 있긴 하지만... 근래 풀었던 것 중 가장 어려웠다. - 이전에 비슷하게 공약수 찾아서 푸는 문제에서 시간 초과가 떴었어서.. - 어떻게 해야 빠르게 답을 찾아내지...? 가 고민이었음. - 약수, 배수와 소수2 단계에서 이거랑 이전 문제(나무 심는 거였나...?)가 제일 어려운 것 같다. - 물론 코드 작성에 아주 복잡한 알고리즘 등이 필요한 건 아니었는데 접근이 어려운(?!) def is_prime(check_n): if check_n

내 제출 - 바로 아래 코드는 python - c++ 코드는 이 글 제일 아래에 더보기를 누르면있다. # 첫째 줄에 카드의 개수 n,m이 주어진다. n, m = map(int, input().split()) # 둘째 줄에 카드에 쓰여 있는 수가 주어진다. # 입력 받은 카드들을 index 붙여서 순서대로 놓고 뽑기 위해 list 에 담음. card_list = list(map(int, input().split())) # 합들의 모음 card_sum = set() # 카드 리스트에서 순서대로 앞에서부터 카드 세 장 뽑을 예정 for i in range(len(card_list)-2): # 앞에서 card_list[i]번째까지 선택했으니까 다음 선택은 i+1번째 부터 가능. for j in range(i+1..

내 제출 - 집합(set)을 이용해서 약수들을 구했다. - 결과 출력은 format을 사용 - 입력마다 약수를 구해주어야 하므로 약수를 구하는 함수 작성 -> return은 정렬된 약수 목록 # 완전수? 어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같은 경우 # 약수 구하기 def get_division_sorted(target): set_division = {1} # 자신을 제외한 약수들이 필요 # target//1의 연산 결과인 target 안 넣기 위해 2부터 loop for i in range(2, target // 2+1): if target % i == 0: set_division.add(i) set_division.add(target // i) return sorted(set_divis..

내 제출 - set를 사용했다. # 자연수 n과 k가 주어짐 n, k = map(int, input().split()) division_set = set() # n의 약수들 중 for i in range(1, n//2 + 1): if n % i == 0: division_set.add(i) division_set.add(n//i) division_list = sorted(list(division_set)) if len(division_list) < k: print(0) else: print(division_list[k-1]) 실행 결과 채점 결과

내 제출 # 바구니 총 N개, 앞으로 바구니의 순서 역순으로 M 번 바꿈 N, M = map(int, input().split()) # 바구니 초기 상태 : 1, 2, ... , N번째 바구니 basket = list(range(N+1)) # 공을 교환할 방법 i와 j를 M 번 입력 받음 for way in range(M): i, j = map(int, input().split()) # basket[i:j + 1] = list(basket[i:j+1].reverse()) basket[i:j + 1] = basket[i:j+1][::-1] print(*basket[1:]) 코드 작성 중 문제 * warning message : Expected type 'Iterable' (matched generic ty..

내 코드 # 바구니 N개, 공 N개, 공을 넣는 횟수 M번 # 첫째 줄 : N, M 입력 받음 # 둘째 줄 ~ M개의 줄 : 공을 넣는 방법 (i, j, k) - i번~j번 바구니까지 k공 """ 1. 공을 넣을 바구니의 범위 정함 2. 모두 같은 번호의 공을 넣는데 공 1개만 넣을 수 있음. 3. 이미 공이 있으면 빼고 넣음. """ N, M = map(int, input().split()) # 공이 없으면 0 : 공이 아예 없는 초기 상태 # (N+1)개로 설정한 이유는 i번째 바구니는 basket[i]로 사용하고 싶어서. basket = [0] * (N+1) for m in range(M): i, j, k = map(int, input().split()) basket[i:j+1] = [k] * (j..