본문 바로가기

Algorithm705

[자료구조/해시] 백준 11652 카드 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 11652번: 카드 준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지 www.acmicpc.net 2. 문제 풀이 입력된 숫자의 개수를 세고, 최빈값을 출력하는 문제입니다. 2022.06.15 - [Algorithm] - [자료구조/해시맵] 백준 1302 베스트셀러 - 파이썬(Python) 위 문제의 풀이처럼, 딕셔너리를 구현해서 직접 개수를 셀 수도 있습니다. 이 문제에서는 파이썬의 Counter 함수를 사용해서 풀이하겠습니다. 3. 코드 from collections import Counter impor.. 2022. 6. 16.
[자료구조/해시맵] 백준 1302 베스트셀러 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고 www.acmicpc.net 2. 문제 풀이 팔린 책 목록을 입력받고, 가장 많이 팔린 책 제목을 출력하는 문제입니다. 3. 코드 import sys input = sys.stdin.readline # 입력 N = int(input()) book_dict = {} for _ in range(N): book = input().rstrip() # 이미 등록된 책이면 1개 추가 if book in book_dict: book_dict[boo.. 2022. 6. 15.
[정렬/탐색] 백준 2693 N번째 큰 수 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 2693번: N번째 큰 수 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 배열 A의 원소 10개가 공백으로 구분되어 주어진다. 이 원소는 1보다 크거나 같고, 1,000 www.acmicpc.net 2. 문제 풀이 10개 수 중 세번째로 큰 수를 구하는 문제입니다. 3. 코드 import sys input = sys.stdin.readline # 입력 T = int(input()) for _ in range(T): numlist = list(map(int, input().split())) # 정렬 numlist.sort() # 세 번째로 큰 값 출력 print(numlist[7]) 단.. 2022. 6. 14.
[자료구조/스택] 백준 17413 단어 뒤집기 2 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 2. 문제 풀이 단어를 뒤집어서 출력하는 문제입니다. 다만, 안 단어는 뒤집으면 안됩니다. 2022.02.28 - [Algorithm] - [구현/수학] 백준 9093 단어 뒤집기 - Python [구현/수학] 백준 9093 단어 뒤집기 - Python [ Contents ] 1. 문제 (링크 참조) 9093번: 단어 뒤집기 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 .. 2022. 6. 13.
[구현/수학] 백준 9076 점수 집계 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 9076번: 점수 집계 입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 한 줄에 다섯 심판이 준 점수 다섯 개의 정수 Ni(1 ≤ Ni ≤ 10, i = 1, 2, ..., 5)가 하나의 공백을 사이에 두고 www.acmicpc.net 2. 문제 풀이 한국 체조협회의 점수 집계 시스템을 구현하는 문제입니다. 5명의 심판 점수 중 최저점과 최고점을 제외합니다. 그 후의 최고 - 최저점이 4점 이상 차이나면 KIN을 출력하고, 아니면 3명의 점수 합계를 출력합니다. 3. 코드 import sys input = sys.stdin.readline T = int(input()) for _ in range(T): A, .. 2022. 6. 12.
[구현/수학] 백준 5361 전투 드로이드 가격 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 5361번: 전투 드로이드 가격 각 테스트 케이스 마다, 입력으로 주어진 부품을 모두 구매하는데 필요한 비용을 소수점 둘째 자리까지 출력한다. 달러 표시도 출력해야 한다. 정답은 1억보다 작거나 같다. www.acmicpc.net 2. 문제 풀이 필요한 전투 드로이드 부품의 가격을 구하는 문제입니다. 3. 코드 import sys input = sys.stdin.readline T = int(input()) for _ in range(T): A, B, C, D, E = map(int, input().split()) print(f'${(A*350.34 + B*230.9 + C*190.55 + D*125.3 + E*180.9):.2f}') $ 달러표시와 함께,.. 2022. 6. 11.
[Greedy/그리디] 백준 13305 주유소 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 2. 문제 풀이 최소의 주유비용으로 거리를 완주해야하는 문제입니다. 2022.01.26 - [Algorithm] - [Algorithm] 탐욕적인 그리디 알고리즘, 직관적이고 쉬운 문제해결 [Algorithm] 탐욕적인 그리디 알고리즘, 직관적이고 쉬운 문제해결 경주마들을 자세히 보면, 양쪽 시야를 차단하는 안대를 끼고 있습니다. 이를 '차안대' 라고 합니다. 말의 눈은 양 옆에 달려 있어 시야가 '3.. 2022. 6. 10.
[정렬/탐색] 백준 11728 배열 합치기 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 11728번: 배열 합치기 첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000) 둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거 www.acmicpc.net 2. 문제 풀이 두 배열을 합친 뒤, 정렬하는 문제입니다. 3. 코드 import sys input = sys.stdin.readline # 입력 N, M = map(int, input().split()) numlist = list(map(int, input().split())) numlist.extend(list(map(int, input().split()))) # 정렬 numl.. 2022. 6. 9.
[구현/수학] 백준 13241 최소공배수 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 13241번: 최소공배수 정수 B에 0보다 큰 정수인 N을 곱해 정수 A를 만들 수 있다면, A는 B의 배수이다. 예: 10은 5의 배수이다 (5*2 = 10) 10은 10의 배수이다(10*1 = 10) 6은 1의 배수이다(1*6 = 6) 20은 1, 2, 4,5,10,20의 배수이다. 다 www.acmicpc.net 2. 문제 풀이 최소 공배수를 구하는 문제입니다. 최소공배수는 '두 수의 곱 / 최대공약수' 입니다. 2022.02.05 - [Algorithm] - [Algorithm] 최대공약수(GCD) 구하기: 유클리드 호제법 [Algorithm] 최대공약수(GCD) 구하기: 유클리드 호제법 유클리드 호제법을 이용하면 두 수의 최대공약수를 구할 수 있습.. 2022. 6. 8.