[백준] 11656번 접미사 배열 - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/11656 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net 풀이 슬라이싱과 sorted( )함수를 이용해서 풀어주었다. # 11656번 접미사 배열 s = input() word = [] for i in range(len(s)): word.append(s[i:]) for j in sorted(word): print(j) 출력결과
[백준] 10988번 팰린드롬인지 확인하기 - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/10988 10988번: 팰린드롬인지 확인하기 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net 풀이 문자열 슬라이스를 이용해서 풀어주었다. # 10988번 팰린드롬인지 확인하기 n = input() if n == n[::-1]: print(1) else: print(0) 출력결과
[백준] 2798번 블랙잭 - 파이썬
·
백준/그리디
https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 풀이 combination을 가져와 사용해서 조합을 해주었다. 삼중 for문으로 구현해도 상관없다. # 2798번 블랙잭 from itertools import combinations as cb N, M = map(int, input().split()) numbers = list(map(int, input().split())) minimum = int(1e5) an..
[백준] 2108번 통계학 - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 풀이 최빈값 처리에서 collcetions의 Counter( ) 클래스를 사용해주었다. 자세한 내용은 포스팅했다.. https://sunghyun98.tistory.com/79 Collections.Counter와 반올림 처리 Collections 라이브러리에 Counter( )를 알아보겠다. 최빈값을 찾기 위해서 많이쓰이는데 최빈값이란 주어진 숫자들 중에서 가장 자주 나오는 수를 뜻한다. 이 Counter는 ..
[Python]Collections.Counter와 반올림 처리
·
Dev Lang/Python
Collections 라이브러리에 Counter( )를 알아보겠다. 최빈값을 찾기 위해서 많이쓰이는데 최빈값이란 주어진 숫자들 중에서 가장 자주 나오는 수를 뜻한다. 이 Counter는 최빈값을 찾는데 도움을 준다. >>> from collections import Counter >>> li = [1, 2, 2, 3, 4] >>> Counter(li) Counter({2: 2, 1: 1, 3: 1, 4: 1}) 보다시피 {숫자 : 개수...} 형태로 주어진다. Counter().most_common()와 Counter().most_common(i) 자주 나오는 개수 순으로 원소를 튜플 형식을 보여준다. (원소 : 개수) 만일 i가 없다면 모든 원소의 개수를 볼 수 있으며 i가 있다면 i에 따라 내림차순으..
[백준] 11779번 최소비용 구하기 2 - 파이썬
·
백준/최단거리
https://www.acmicpc.net/problem/11779 11779번: 최소비용 구하기 2 첫째 줄에 도시의 개수 n(1≤n≤1,000)이 주어지고 둘째 줄에는 버스의 개수 m(1≤m≤100,000)이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스 www.acmicpc.net 풀이 다익스트라 알고리즘을 사용해서 풀어주면된다. 추가로 경로를 나타내어야하는데 최단경로가 갱신될 때마다 move리스트에 다음노드의 인덱스에 현재 노드를 저장해주었다. 그런 뒤 리스트에 새로 담아주면된다. # 11779번 최소비용 구하기 2 import sys import heapq INF = sys.maxsize input = sys.stdin.readline #..
[백준] 1978번 소수 찾기 - 파이썬
·
백준/그리디
https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 풀이 소수찾기 함수를 만들어서 풀어줘도 좋고 함수없이 푸는것도 좋다. 두개 다 올려놓겠다. # 1978번 소수 찾기 _ = int(input()) ans = 0 numbers = list(map(int, input().split())) # 소수 찾기 알고리즘 def prime(x): for i in range(2, int(x**0.5)+1): if x % i == 0: return False return True for i in numbers: if i == 1: ..
[백준] 2475번 검증수 - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/2475 2475번: 검증수 컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들 www.acmicpc.net 풀이 간단한 구현이다. # 2475번 검증수 numbers = list(map(int, input().split())) total = 0 for i in numbers: total += (i**2) print(total % 10) 출력결과
개발자 성현
개발새발 블로그