본문 바로가기

python56

[백준 -골드4] 17298번 오큰수(스택, 파이썬) https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 22/02/18 O - n이 최대 100만이기 때문에 시간복잡도가 n^2이면 시간초과가 발생한다. - 따라서 최대한 n에 가깝게 코드를 구현해야한다. - for문으로 입력받은 데이터의 모든 원소를 탐색한다. - 이때 stack에 원소가 있고, 스택의 마지막 원소보다 해당 데이터의 크기가 클때 while문 수행 - 스택의 원소를 pop하고, result 배열에 값을 넣어준다. - 매번 스택에 값을 차례대로 추.. 2022. 2. 3.
[백준-브론즈1] 2999번 비밀 이메일(구현, 파이썬) https://www.acmicpc.net/submit/2999/38154691 로그인 www.acmicpc.net - 문제에서 주어진 조건대로 r,c를 찾아준다. - 0열의 0행~n행까지 문자를 채우고, 1열의 0행~n행 채우고 반복 - 출력은 행을 기준으로 차례대로 출력한다. import sys data = input() n = len(data) #r,c 찾기 r = 1 c = n for i in range(1,n+1): if n%i==0: if r 2022. 1. 26.
[백준-실버5] 2941번 크로아티아 알파벳(파이썬) https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net data = input() cro = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z='] for c in cro: data = data.replace(c,'*') print(len(data)) 2022. 1. 26.
[백준-실버4] 2422번 한윤정이 이탈리아에 가서 아이스크림을 사먹는데(완전탐색, 파이썬) https://www.acmicpc.net/problem/2422 2422번: 한윤정이 이탈리아에 가서 아이스크림을 사먹는데 첫째 줄에 정수 N과 M이 주어진다. N은 아이스크림 종류의 수이고, M은 섞어먹으면 안 되는 조합의 개수이다. 아래 M개의 줄에는 섞어먹으면 안 되는 조합의 번호가 주어진다. 같은 조합은 두 번 www.acmicpc.net - 문제에서 형편없는 조합을 피해서 아이스크림을 3가지 선택해야 한다고했다. - 따라서 3중 반복으로 중복이 아닐때 카운트해주었다. (n이 최대 200이기 때문에 시간초과 안걸림) import sys input = sys.stdin.readline n, m = map(int, input().split()) data = [[True]*(n+1) for _ in .. 2022. 1. 26.