본문 바로가기

반응형

코딩/백준 (단계별)

백준 1620 파이썬 포켓몬 백준 1620 - 나는야 포켓몬 마스터 이다솜 문제 https://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()) dict = {} for i in range(1, n + 1): a = input().rstrip() dict[i] = a dict[a] = i for i in range(m):.. 더보기
백준 10816번 파이썬 언패킹 백준 10816 - 숫자 카드 2 문제 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,0 www.acmicpc.net 답안 코드 : N = int(input()) N_L = [*map(int, input().split())] M = int(input()) M_L = [*map(int, input().split())] count = {} # 빈 딕셔너리인 count를 초기화 for num in N_L: if num in count: coun.. 더보기
백준 7785 파이썬 items() 함수 lambda 백준 7785 - 회사에 있는 사람 문제 https://www.acmicpc.net/problem/7785 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net 답안 코드 : n = int(input()) logs = [] for _ in range(n): logs.append(input().split()) # 출입 기록을 저장할 딕셔너리 status = {} # 출입 기록 처리 for log in logs: name, action = log[0], log[1] if acti.. 더보기
백준 14425 파이썬 백준 14425 - 문자열집합 문제 https://www.acmicpc.net/problem/14425 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 답안 코드 : N, M = map(int, input().split()) # 집합 S 초기화 S = set() for _ in range(N): string = input() S.add(string) # 검사해야 하는 문자열 입력 및 검사 count = 0 for _ in range(M): test_string = input() .. 더보기
백준 10815 파이썬 백준 10815 - 숫자 카드 문제 https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 답안 코드 : import sys input = sys.stdin.readline # 입력 받기 n = int(input()) # 상근이가 가지고 있는 숫자 카드의 개수 cards = set(map(int, input().split())) # 숫자 카드에 적혀있는 정수들 m = int(input()) # 검사할 숫자의 개수 numb.. 더보기
백준 18870 파이썬 딕셔너리 백준 18870 - 좌표 압축 문제 https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표 Xj의 개수와 같아야 한다. X1, X2, ..., XN에 www.acmicpc.net 답안 코드 : import sys input = sys.stdin.readline n = int(input()) arr = list(map(int, input().split())) sorted_arr = sorted(list(set(arr))) # 중복 제거 및 정렬 dic = {sorted_arr[i]: i .. 더보기
백준 10814 파이썬 런타임에러 해결 백준 10814 - 나이순 정렬 문제 https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 답안 코드 : # 회원 수 입력 N = int(input()) # 회원 정보 입력 및 리스트에 저장 members = [] for i in range(N): age, name = input().split() members.append((int(age), name, i)) # 나이가 증가하는 순으로 정렬, 나이가 같으면 가입한 순으로 정렬 members.sort(ke.. 더보기
백준 1181 파이썬 .strip()와 lambda 백준 1181 - 단어 정렬 문제 https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 답안 코드 : N = int(input()) words = [] for _ in range(N): word = input().strip() words.append(word) # 중복 제거 후 길이가 짧은 순서대로, 길이가 같으면 사전 순으로 정렬 sorted_words = sorted(set(words), key=lambda x: (len(x), x)).. 더보기

반응형