전체 글

Choices nudge me onward, towards Dannaward
Archive/BOJ

백준 1003번: 피보나치 함수

www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 구현 언어: 파이썬 import sys input = sys.stdin.readline def one_counter(n): zero_cnt = [1, 0] one_cnt = [0, 1] if n

Archive/BOJ

백준 1764번: 듣보잡

www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 구현 언어: 파이썬 import sys input = sys.stdin.readline n, m = map(int, input().split()) listen_dic = {} exist = [] count = 0 for i in range(n): listen_dic[input().strip()] = '' for i in range(m): name = input().strip() try: _ = listen_d..

Archive/BOJ

백준 1620번: 나는야 포켓몬 마스터 이다솜

www.acmicpc.net/problem/1620 1620번: 나는야 포켓몬 마스터 이다솜 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 www.acmicpc.net 구현 언어: 파이썬 import sys input = sys.stdin.readline n, m = map(int, input().split()) pokemon_dic = {} pokemon_names = [] # 포켓몬 도감 만들기 for i in range(n): name = input() # 입력 받은 값을 딕셔너리에 저장 pokemon_dic[i+1] = name # 입력 받..

Archive/BOJ

백준 11651번: 좌표 정렬하기 2

www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 구현 언어: 파이썬 import sys input = sys.stdin.readline n = int(input()) coord = [] for i in range(n): coord.append(list(map(int, input().split()))) for i in sorted(coord, key=lambda x: (x[1], x[0])): print..

Archive/BOJ

백준 10989번: 수 정렬하기 3

www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 구현 언어: 파이썬 import sys input = sys.stdin.readline n = int(input()) num_count = [0 for i in range(10001)] for i in range(n): input_num = int(input()) num_count[input_num] += 1 for i in range(10001): if num_count[i] != 0: for j in range(num_cou..

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..

Danna 다나
toward, dannaward