본문 바로가기

Algorithm/etc111

[파이썬] 백준 1759: 암호만들기 (골드5) [파이썬] 백준 1759: 암호만들기 (골드5) 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 문제 풀이 0. 방향성 생각 딱 보면 브루트포스/백트래킹 주어진 조건인 개수, 오름차순을 만족하는 문자열을 탐색하면 된다. 문자열의 수가 충분히 작아서 잘 조합해서 풀 수도 있는데 itertools에서 조합을 써서 풀기 1. 입력 받기 from itertools import combinations l,c = map(int,input().split()) word = list(input().split()) temp = li.. 2023. 5. 11.
[파이썬] 백준 1411: 비슷한 단어 (실버2) [파이썬] 백준 1411: 비슷한 단어 (실버2) 1411번: 비슷한 단어 첫째 줄에 단어의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에 한 줄에 하나씩 단어가 주어진다. 단어의 길이는 최대 50이고, N은 100보다 작거나 같은 자연수이다. 모든 단어의 길이는 같고, 중복 www.acmicpc.net 문제 풀이 0. 접근방식 소문자 배열이 들어온다. 처음 등장하는 단어에 맞추어서 단어를 새롭게 매핑하면 다른 단어로 바꿀 수 있다. 이 매핑한 단어를 딕셔너리에 저장하면 같은 타입의 단어가 등장하면 알 수 있다. 1. 입력받기 N = int(input()) table = {} for i in range(N): string = input() capital = list('ABCDEFGHIJKLMNOPQRST.. 2023. 5. 8.
[파이썬] 백준 - 15단계 약수,배수와 소수2 [파이썬] 백준 - 15단계 약수,배수와 소수2 유클리드 호제법 / 에라스토테네스의 체 / 소수는 제곱근 까지 탐색 최소공배수 (1934) T = int(input()) for i in range(T): A,B = map(int,input().split()) if min(A,B)==1 : print(max(A,B)) continue else : for j in range(min(A,B),0,-1): if A%j == 0 and B%j == 0: print(int(A*B/j)) break 1초 정도면 그냥 넘어갈줄 알고 최소공배수 구했는데 시간초과 두 수의 곱이 최대공약수로 나누어 떨어지면 출력 최소공배수 (13241) A,B = map(int,input().split()) if min(A,B)==1 : .. 2023. 4. 28.
[파이썬] 백준 - 19단계 스택 [파이썬] 백준 - 19단계 스택 스택 (10828) import sys N = int(input()) temp = [] for i in range(N): s = list(sys.stdin.readline().rstrip().split()) if s[0] == 'push' : temp.append(s[1]) if temp == [] : if s[0] == 'size' : print(0) elif s[0] == 'pop' : print(-1) elif s[0] == 'top' : print(-1) elif s[0] == 'empty' : print(1) else : if s[0] == 'size' : print(len(temp)) elif s[0] == 'pop' : print(temp[-1]) temp... 2023. 4. 22.