목록분류 전체보기 (107)
-
문제 https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 각 문자열은 마지막 글자를 제외하고 영문 알파벳, 공백, 소괄호("( )"), 대괄호("[ ]")로 이루어져 있으며, 온점(".")으로 끝나고, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마지막에 www.acmicpc.net 풀이 while(True): sentence = input() if(sentence == "."): break stack = [] for i in sentence: if(i == "(" or i == "["): stack.append(i) if(i == ")"): if(len(stack) != 0 and stack[-1] == "("): stack.pop() else: ..
문제 https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 풀이 from collections import deque n = int(input()) cards = deque([]) for i in range(1, n+1): cards.append(i) while(len(cards) != 1): cards.popleft() cards.append(cards.popleft()) print(cards[0]) 큐를 사용하는 문제다. 1. 카드를 넣을 큐를 ..
문제 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 풀이 n = int(input()) a = set((map(int, input().split()))) m = int(input()) numbers = list((map(int, input().split()))) for i in numbers: print(1) if i in a else print(0) 1. a를 리스트가 아닌 set으로 받는다...
문제 https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 풀이 n, k = map(int, input().split()) people = [] answer = [] for i in range(1, n+1): people.append(i) while(len(people)): for i in range(k-1): tmp = people.pop(0) people.append(tmp) tmp = people.pop(0) answer.append(tmp) print("") 큐를 사용하는 문제이다. 1. 리스트에 입력받은 n 만큼 사람들을 넣..
문제 https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 풀이 n = int(input()) users = [] for _ in range(n): users.append(list(input().split())) users.sort(key=lambda x: int(x[0])) for i in users: print(i[0], i[1]) 1. 나이와 이름을 리스트 형식으로 입력받아 리스트 안에 넣어 이차원 배열로 만든다. 2. sort 할 때 key 값을 ..
문제 https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 풀이 n = int(input()) students = [] for _ in range(n): students.append(list(map(int, input().split()))) for i in students: rank = 1 for j in students: if(i[0] < j[0] and i[1] < j[1]): rank += 1 print(rank, end = " "..
words = ["apple", "banana", "kiwi", "grape"] words.sort(key=len) print(words) #실행 결과 ['kiwi', 'apple', 'grape', 'banana']