알고리즘

알고리즘

1254-백준-팰린드롬 만들기

1. 문제 출처 https://www.acmicpc.net/problem/1254 1254번: 팰린드롬 만들기 동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 규완이는 팰린드롬을 엄청나게 좋아한다. 팰린드롬이란 앞에서부터 읽으나 뒤에서부터 읽으나 같게 읽히는 문자열을 말한다. 동호는 www.acmicpc.net 2. 풀이 파이썬의 slice 기능을 이용하면 간단하게 해결할 수 있다. s = input() # 전체 문자열을 역순으로 한 것과 문자열이 일치하면 이미 팰린드롬 문자열 이므로 # 문자열의 길이를 출력한다. if s == s[::-1]: print(len(s)) # 아닌 경우 else: # 최악의 경우의 수는 마지막 문자를 기준으로 앞뒤를 같게 하는 경우 이므로 # 최대 문자열의 전체 ..

알고리즘

백준-1141-접두사

1. 문제 출처 https://www.acmicpc.net/problem/1141 1141번: 접두사 접두사X 집합이란 집합의 어떤 한 단어가, 다른 단어의 접두어가 되지 않는 집합이다. 예를 들어, {hello}, {hello, goodbye, giant, hi}, 비어있는 집합은 모두 접두사X 집합이다. 하지만, {hello, hell}, {giant, www.acmicpc.net 2. 풀이 N = int(input()) input_list = [0] * N for idx in range(N): input_list[idx] = input() # 글자 길이 순으로 버블 정렬 for i in range(N): min_len = len(input_list[i]) min_idx = i for j in ran..

알고리즘/그리드 알고리즘

백준_11047_동전 문제

문제 출처 https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 해결(코드) 단순한 그리디 알고리즘 문제이다. # 동전 갯수 , 목표 액수 받기 input_list = input().split() N = int(input_list[0]) K = int(input_list[1]) # 동전 개수 만큼 배열 생성 coin_list = [0] * N # 빈리스트로 생성 해서 append해도 되..

easysheep
'알고리즘' 태그의 글 목록 (4 Page)