study

n, m = map(int, input().split()) arr1 = [list(map(int, input().split())) for _ in range(n)] # 행렬A arr2 = [list(map(int, input().split())) for _ in range(n)] # 행렬B result = '' # 결과값 변수 for i in range(n): for j in range(m): result += f"{arr1[i][j] + arr2[i][j]} " print(result) result = '' 행렬A와 B를 받아와서 이중 for 문으로 인덱스가 같은 요소들을 더해 문자열 변수에 넣어주고 출력해주었다. https://www.acmicpc.net/problem/2738 2738번: 행렬 덧셈..
· study/TIL
파이썬의 이차원 배열에 대해서 배울 수 있었다. 이차원 배열은 리스트 안에 리스트가 있는 형태이다. arr1 = [list(map(int, input().split())) for _ in range(n)] 이런 식으로 리스트 컴프리헨션을 사용해 입력값들을 이차원 배열로 만들어줄수도 있다. 백준으로 문제를 풀때마다 느끼는 거지만 입력값을 가져와서 어떻게 넣어주는지도 중요한 것 같다. 이차원 배열과 관련된 알고리즘 문제들을 풀면서 어렵다는 생각을 많이 한다. 그래도 해야지 뭐 어쩌겠음! new! 이차원 배열에서 최대값을 구해줄때 max함수 안에 max함수를 넣어줄수 있다는 걸 새로 알게 되었다. arr = [ [1, 2, 3] [4, 5, 6] [7, 8, 9] ] max_num = max(map(max, ..
# 서브태스크 1만 충족 n = int(input()) m = int(input()) s = input() target = 'I'+'I'.join('O' * n)+'I' cnt = 0 for i in range(m): if s[i:i+len(target)] == target: cnt += 1 print(cnt) # 100점 n = int(input()) m = int(input()) s = input() count, idx, result = 0, 0, 0 while idx < (m-1): if s[idx:idx+3] == 'IOI': idx += 2 count += 1 if count == n: result += 1 count -=1 else: idx += 1 count = 0 print(result) ..
n = int(input()) enter, out = {}, [] cnt = 0 for i in range(n): enter[input()] = i for _ in range(n): out.append(input()) for j in range(n): for k in range(j+1, n): if enter[out[j]] > enter[out[k]]: cnt += 1 break print(cnt) https://www.acmicpc.net/problem/2002 2002번: 추월 입력은 총 2N+1개의 줄로 이루어져 있다. 첫 줄에는 차의 대수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 대근이가 적은 차량 번호 목록이 주어지고, N+2째 줄부터 N개의 줄에는 영식이 www.a..
str = sorted(input()) letter_dic = {} start = '' mid = '' for i in str: if i in letter_dic: letter_dic[i] += 1 else: letter_dic[i] = 1 if len(list(filter(lambda x: x % 2 == 1,letter_dic.values()))) >= 2: print("I'm Sorry Hansoo") exit() for key, value in letter_dic.items(): if value % 2 != 0: mid += key start += key * (value // 2) else: start += key * (value // 2) print(start + mid + start[::-1]..
n, m = map(int, input().split()) no_listen, no_see = set(), set() for i in range(n): no_listen.add(input()) for j in range(m): no_see.add(input()) result = sorted(no_listen & no_see) print(len(result)) for name in result: print(name) https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www...
n = int(input()) n_ls = [] for i in range(n): n_ls.append(input()) m = int(input()) m_ls = [] for i in range(m): m_ls.append(input()) idx = n_ls.index('?') prev = idx-1 next = idx+1 for word in m_ls: if word in n_ls: continue # 기존에 사용한 단어인경우 if idx == 0: # 물음표가 첫번째일때 if len(n_ls) == 1: print(word) elif word[len(word)-1] == n_ls[next][0]: print(word) elif idx == len(n_ls) - 1: # 물음표가 마지막일때 if wor..
n, b = input().split() print(int(n, int(b))) https://www.acmicpc.net/problem/2745
print(''.join(map(lambda s: s[0], input().split('-')))) https://www.acmicpc.net/problem/2902
N, M = map(int, input().split()) num_list = sorted(list(map(int, input().split()))) s = [] visited = [False] * N def dfs(): if len(s) == M: print(' '.join((map(str, s)))) return remember_me = 0 for i in range(N): if not visited[i] and remember_me != num_list[i]: visited[i] = True s.append(num_list[i]) remember_me = num_list[i] dfs() s.pop() visited[i] = False dfs() https://www.acmicpc.net/proble..
해리Harry
'study' 카테고리의 글 목록 (9 Page)