목록SW Expert Academy (31)
Hikenny25
t = int(input()) ans = list() for _ in range(t): str1 = list(input()) str2 = list(input()) d = dict() for i in range(26): d[chr(65+i)] = 0 for i in str2: d[i] += 1 a = list() for i in str1: a.append(d[i]) ans.append(max(a)) for i in range(t): print(f"#{i+1} {ans[i]}") str1에 글자가 중복되어 있어서 이해하는데 좀 애매했는데 그냥 신경 안쓰고 풀었다 chr 함수와 딕셔너리 써서 가볍게 카운팅해주고 최댓값 뽑아줬당
def is_palindrome(x): original = x.copy() t = len(x) // 2 for i in range(t): x[i], x[len(x)-1-i] = x[len(x)-1-i], x[i] if original == x: return True else: return False t = int(input()) ans = list() for _ in range(t): n, m = map(int, input().split()) word = [list(input()) for _ in range(n)] # 행 회문 계산 tmp = 0 for i in range(n): for j in range(n-m+1): var = list() for k in range(m): var.append(word..
t = int(input()) ans = list() for _ in range(t): str1 = input() str2 = input() var = 1 if str1 in str2 else 0 ans.append(var) for i in range(t): print(f"#{i+1} {ans[i]}") in 써주면 풀리는 간단한 문제
t = int(input()) answer = list() for _ in range(t): n = int(input()) data = list(map(int, input().split())) cnt = 1 sorted_data = list() while len(data) != 0: if cnt % 2 == 1: # 큰 수 구하기 sorted_data.append(max(data)) data.remove(max(data)) else: sorted_data.append(min(data)) data.remove(min(data)) cnt += 1 answer.append(sorted_data[:10]) for i in range(t): print(f"#{i+1}", end=" ") print(*answer[..
def count_binarysearch(page, object): left = 1 right = page cnt = 0 while(left object: right = middle else: left = middle cnt += 1 return -1 t = int(input()) answer = list() for _ in range(t): p, pa, pb = map(int, input().split()) cpa = count_binarysearch(p, pa) cpb = count_binarysearch(p, pb) if cpa > cpb: answer.append('B') elif cpa < cpb: answer.append('A') else: answer.append('0') for i in r..
def howmany1(n): cnt = 0 while(n != 0): if(n & 1): cnt += 1 n = n >> 1 return cnt t = int(input()) answer = list() for _ in range(t): a = [1,2,3,4,5,6,7,8,9,10,11,12] n, k = map(int, input().split()) subset = list() for i in range(1
import sys input = sys.stdin.readline answer = list() t = int(input()) for _ in range(t): n = int(input()) color_map = [[[0 for _ in range(10)] for _ in range(10)] for _ in range(2)] for _ in range(n): r1, c1, r2, c2, color = map(int, input().split()) color -= 1 for i in range(r1, r2+1): for j in range(c1, c2+1): color_map[color][i][j] = 1 cnt = 0 for i in range(10): for j in range(10): if color..
t = int(input()) answer = list() for _ in range(t): n, m = map(int, input().split()) a = list(map(int, input().split())) s = list() for i in range(n-m+1): var = 0 for j in range(m): var += a[i+j] s.append(var) answer.append(max(s) - min(s)) for i in range(t): print(f"#{i+1} {answer[i]}") 모든 케이스 구해서 리스트에 추가한 후 max와 min 함수 사용하여 풀이했다 쉬움!!
t = int(input()) answer = list() for _ in range(t): n = int(input()) a = list(map(int, input().rstrip())) l = [0 for _ in range(10)] for i in a: l[i] += 1 vmax = max(l) for i in range(10): if vmax == l[10-i-1]: answer.append((10-i-1, vmax)) break for i in range(t): print(f"#{i+1} {answer[i][0]} {answer[i][1]}") 숫자 카드의 종류가 10개뿐이라 배열 생성하고 인덱스로 더해줬다 간단한 문제 엿다
def is_done(x): if x >= n: return True else: return False t = int(input()) answer = list() for _ in range(t): k, n, m = map(int, input().split()) stop = [False for _ in range(n)] l = list(map(int, input().split())) for var in l: stop[var-1] = True location, cnt = k, 0 while(not is_done(location)): except_var = 0 for i in range(k): if stop[location-1] == True: cnt += 1 break else: location -= 1 e..