[Coding Test]/[백준]
[백준] 10866 파이썬(python) : 덱
https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net from collections import deque import sys d = deque() n = int(input()) for i in range(n): command = sys.stdin.readline().split() if command[0] == "push_front": d.appendleft(command[1]) elif command[0] == "push_back"..
[백준] 10816 파이썬(python) : 숫자 카드 2
https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 처음 in 함수를 사용한 방법으로 풀었는데 예제는 맞았지만 시간초과가 나왔다. 250,000,000,000가 걸리기 때문에 250초는 필요할 것이다. 정확하진 않지만 in 함수는 완전 탐색을 사용하는것 같다. 시간초과가 발생한 풀이) n = int(input()) cards = list(map(int, input().split())) m = int(input())..
[백준] 10814 파이썬(python) : 나이순 정렬 - sort()
https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net import sys n = int(input()) arr = [] for i in range(n): age, name = sys.stdin.readline().split() #1 arr.append((int(age), name)) #2 arr.sort(key=lambda x : x[0]) #3 for age, name in arr: #4 print(age, name) #1 : 각각 age와 name으로..
[백준] 2751 파이썬(python) : 수 정렬하기 2
2751번: 수 정렬하기 2 n = int(input())res = []for i in range(n): res.append(int(input()))res.sort()for i in res: print(i)
[백준] 2609 파이썬(python) : 최대공약수와 최소공배수 - (유클리드 호제법)
2609번 : 최대공약수와 최소공배수 직접 유클리드 호제법을 구현한 풀이) import sys a, b = map(int, sys.stdin.readline().split()) def gcd(a, b): while b > 0: a, b = b, a % b return a def lcm(a, b): return (a * b) // gcd(a, b) print(gcd(a, b)) print(lcm(a, b)) 파이썬 기본함수를 사용한 풀이) import math a, b = map(int, input().split()) print(math.gcd(a, b)) print(math.lcm(a, b)) import math를 해주면 gcd와 lcm을 사용할 수 있다. 유클리드 호제법
[백준] 2164 파이썬(python) : 카드2
https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net import sys from collections import deque n = int(sys.stdin.readline()) q = deque(list(range(1, n+1))) #1 while len(q) != 1: #2 q.popleft() #3 q.append(q.popleft()) #4 print(q[0]) #5 #1 : q에 1에서 n까지의 범위 삽입 #2 : q의 길이가 1이 될때까..