전체 글

    백준 18870번: 좌표 압축

    www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 구현 언어: 파이썬 import sys input = sys.stdin.readline n = int(input()) num_set = set() nums = list(map(int, input().split())) num_set = sorted(set(nums)) num_dic = {value: index for index, value in enumerate(..

    백준 7785번: 회사에 있는 사람

    www.acmicpc.net/problem/7785 구현 언어: 파이썬 import sys input = sys.stdin.readline n = int(input()) people = {} for i in range(n): name, status = input().split() if status == 'enter': people[name] = '' elif status == 'leave': del(people[name]) for name in sorted(people.keys(), reverse=True): print(name) 시도 횟수: 1 구현 포인트: 간단한 문제였다. 탐색과 삽입, 삭제가 많이 일어나야 하는 문제라 가장 시간적으로 유리한 딕셔너리로 구현했다. 입력이 끝나면 딕셔너리에 남은 ke..

    백준 18115번: 카드 놓기

    www.acmicpc.net/problem/18115 18115번: 카드 놓기 수현이는 카드 기술을 연습하고 있다. 수현이의 손에 들린 카드를 하나씩 내려놓아 바닥에 쌓으려고 한다. 수현이가 쓸 수 있는 기술은 다음 3가지다. 제일 위의 카드 1장을 바닥에 내려놓는다. www.acmicpc.net 구현 언어: 파이썬 import sys from collections import deque input = sys.stdin.readline n = int(input()) orders = list(map(int, input().split())) # 스택이라 deque 대신 list original = deque() # 양방향에서 데이터를 넣어야 해서 덱 for i in range(1, n+1): curr = o..

    백준 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

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

    백준 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 # 입력 받..

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

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

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