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

내 제출 import sys from collections import deque # 명령의 수 N이 주어진다 (1 ≤ N ≤ 1,000,000) n = int(input()) deque = deque() # n 개의 줄에 명령이 하나씩 주어진다. for _ in range(n): command = list(map(int, sys.stdin.readline().split())) if command[0] == 1: deque.appendleft(command[1]) elif command[0] == 2: deque.append(command[1]) elif command[0] == 3: print(deque.popleft() if deque else -1) elif command[0] == 4: print..

내 제출 - 종이에 칸 나눠서 나무 위치 표시해보고... 동일 간격을 어떻게 유추해낸 걸까 생각해보니까 어케 어케 풀렸다. - 처음에 틀린 이유는 굳이 더 심을 필요가 없는 경우(나무 2그루)를 생각 못 했었다. - math 라이브러리의 gcd 구하는 메소드를 사용해도 될 것 같다. 나는 연습 차원... - 사실 문제를 이렇게 푸는 건지 긴가민가 해서 코드를 굳이 굳이 길게 작성한 것 같다. # 최대 공약수 구하기 def get_gcd(a, b): while b: if a > b: a, b = b, a b %= a return a # 심어져 있는 가로수의 위치가 주어진다. # 이미 심어져 있는 가로수의 수 N n = int(input()) # 가장 첫 번재 나무 front_tree = int(input(..

내 제출 - 1사분면 가장 좌측 아래 x좌표 ~ 가장 우측 아래 x좌표 까지가 직사각형 가로 - 가장 위에 있는 y좌표 ~ 가장 아래에 있는 y좌표 까지가 직사각형 세로 # 옥구슬의 위치 N 개가 주어진다 n = int(input()) x_set = set() y_set = set() # N줄에 각 점의 좌표가 두 개의 정수로 한 줄씩 주어짐. for i in range(n): x, y = map(int, input().split()) x_set.add(x) y_set.add(y) # 가장 작은 x좌표, 가장 큰 x좌표 # 가장 작은 y좌표, 가장 큰 y좌표 x_sorted = sorted(x_set) y_sorted = sorted(y_set) # 가로 길이 width = x_sorted[-1] - x..

내 제출 - 집합(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]) 실행 결과 채점 결과