전체 글

Choices nudge me onward, towards Dannaward
Archive/BOJ

백준 7568번: 덩치

www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 구현 언어: 파이썬 inputs = [] n = int(input()) for i in range(n): inputs.append(list(map(int, input().split()))) for i in inputs: count = 1 for j in inputs: if i[0] < j[0] and i[1] < j[1]: count += 1 print(count, end=' ') 시도 횟수: 1 ..

Archive/BOJ

백준 15829번: Hashing

구현 언어: 파이썬 n = int(input()) string = input() answer = 0 for i in range(n): answer += (ord(string[i]) - 96) * (31 ** i) print(answer % 1234567891) 시도 횟수: 1 구현 포인트: 문제가 길었지만 시키는대로 식을 적으면 풀 수 있는 문제였다. ord를 통해 문자를 아스키코드로 변환하는데, 이때 a의 아스키코드가 97이므로, 이를 1로 만들기 위해 96을 빼준다. 그 후 r의 값으로 주어진 31에 i를 제곱하고, 이 두 수를 곱해 answer에 누적해서 더해준다. 그 후 이 수와 1234567891을 mod 연산해주면 된다.

Archive/BOJ

백준 11723번: 집합

www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net 구현 언어: 파이썬 import sys input = sys.stdin.readline n = int(input()) s = [] for i in range(n): command = list(input().split()) if command[0] == 'add': if command[1] not in s: s.append(command[1]) elif command[0] == 'remove': if command[1] in s: s.remove(..

Archive/BOJ

백준 10816번: 숫자 카드 2

www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 구현 언어: 파이썬 import sys input = sys.stdin.readline n = int(input()) n_list = list(map(int, input().split())) m = int(input()) m_list = list(map(int, input().split())) dic = dict() for i in n_list: try: dic[i] += 1 ..

Archive/BOJ

백준 9012번: 괄호

www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 구현 언어: 파이썬 import sys input = sys.stdin.readline n = int(input()) for i in range(n): VPS_input = list(input().strip()) checker = 0 for i in range(len(VPS_input)): if VPS_input[i] == '(': checker += 1 if VPS_input[i..

Archive/BOJ

백준 10866번: 덱

www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 구현 언어: 파이썬 import sys input = sys.stdin.readline n = int(input()) deque = [] for i in range(n): command = list(input().split()) if command[0] == 'push_front': deque.insert(0, command[1]) elif command[0] == 'push_back': deq..

Archive/BOJ

백준 10845번: 큐

www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 구현 언어: 파이썬 import sys input = sys.stdin.readline n = int(input()) queue = [] for i in range(n): command = list(input().split()) if command[0] == 'push': queue.append(int(command[1])) elif command[0] == 'pop': if queue: pri..

Archive/BOJ

백준 10828번: 스택

www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 구현 언어: 파이썬 import sys input = sys.stdin.readline n = int(input()) stack = [] for i in range(n): command = list(input().split()) if command[0] == 'push': stack.append(int(command[1])) elif command[0] == 'pop': if stack: pr..

Danna 다나
toward, dannaward