본문 바로가기
반응형

알고리즘 테스트/백준51

백준 14888 : 연산자 끼워넣기 (파이썬) 연산자 끼워넣기https://www.acmicpc.net/problem/14888풀이 코드# https://teching.tistory.com/import sysn = int(sys.stdin.readline().rstrip())nums = list(map(int,sys.stdin.readline().split()))#operator 0: +, 1: -, 2: *, 3: /operator = list(map(int,sys.stdin.readline().split()))use_operator = [0, 0, 0, 0]answerMax = -1000000000answerMin = 1000000000def solve(idx,res): global n, answerMin, answerMax if i.. 2022. 2. 5.
백준 2580 : 스도쿠 (파이썬) 스도쿠https://www.acmicpc.net/problem/2580 코드import sysboard = []answerCnt = 0empty = []emptyLoc = []for i in range(9): line = list(map(int,sys.stdin.readline().split())) board.append(line) for j in range(9): if line[j] == 0: empty.append(0) emptyLoc.append([i, j])def sudoku(idx): global answerCnt if answerCnt == 0: #이전 빈칸들 채워넣기 for i in ran.. 2022. 2. 4.
백준 9663 : N-Queen (파이썬) N-Queenhttps://www.acmicpc.net/problem/9663코드# https://teching.tistory.com/n = int(input())cnt = 0def nQueen(placed): global n, cnt row = len(placed) if row == n: cnt += 1 else: #해당 열에서 퀸을 둘 수 있는 곳을 찾기. can = [1 for i in range(n)] for i in range(row): can[placed[i]] = 0 #대각선 if placed[i]+(row-i) = 0 : can[pla.. 2022. 2. 4.
백준 15649 : N과 M (1) (파이썬) N과 M (1)https://www.acmicpc.net/problem/15649코드1# https://www.acmicpc.net/problem/15649# https://teching.tistory.com/import itertoolsn, m = map(int,input().split())nums = [i+1 for i in range(n)]for ln in list(itertools.permutations(nums,m)): for i in range(m): print(ln[i],end= ' ') print('')코드 2# https://www.acmicpc.net/problem/15649# https://teching.tistory.com/def bts(n, m, visite.. 2022. 2. 1.
백준 2108 : 통계학 (파이썬) 통계학https://www.acmicpc.net/problem/2108코드# https://teching.tistory.com/import syscnt = [0 for _ in range(8001)]n = int(sys.stdin.readline().rstrip())total = 0maxN = -4000minN = 4000for _ in range(n): num = int(sys.stdin.readline().rstrip()) cnt[num+4000] += 1 total += num maxN = max(maxN, num) minN = min(minN, num)mode = []index = 0for i in range(8001): num = i-4000 if cnt[i.. 2022. 1. 31.
백준 10989 : 수 정렬하기3(카운팅정렬) 수 정렬하기 3https://www.acmicpc.net/problem/10989 코드# https://teching.tistory.com/import sys# 계수정렬countingNum = [0] * 10001for _ in range(int(sys.stdin.readline().rstrip())): countingNum[int(sys.stdin.readline().rstrip())] += 1for i in range(10001): for _ in range(countingNum[i]): print(i)해설메모리 제한이 8MB로 빡빡한 문제이다. 계수 정렬을 구현해서 풀었다. 계수 정렬에 관한 내용은 https://teching.tistory.com/80에서 정리를 해두었다! .. 2022. 1. 30.
백준 2751 : 수 정렬하기2 (파이썬) 수 정렬하기 2https://www.acmicpc.net/problem/2751 코드# https://teching.tistory.com/import sys# 합병정렬def mergeSort(nums): size = len(nums) if size == 1: return nums mid = size // 2 left = mergeSort(nums[:mid]) right = mergeSort(nums[mid:]) new = [0] * size end = l = r = 0 while len(left) > l and len(right) > r: if left[l] > right[r]: new[end] = right[r] .. 2022. 1. 29.
백준 1018 : 체스판 다시 칠하기 (파이썬) 체스판 다시 칠하기 https://www.acmicpc.net/problem/1018 코드import sysN, M = map(int,sys.stdin.readline().split())board = [[m for m in sys.stdin.readline().rstrip()] for _ in range(N)]case1 = [[0 for _ in range(M)] for _ in range(N)]case2 = [[0 for _ in range(M)] for _ in range(N)]for n in range(N): for m in range(M): if (n+m)%2 == 0: if board[n][m] == 'W': case2[n][m] = 1 .. 2022. 1. 29.
백준 7568 : 덩치 (파이썬) 덩치문제  https://www.acmicpc.net/problem/7568 코드import syspeoples = []for _ in range(int(sys.stdin.readline())) : peoples.append(list(map(int,sys.stdin.readline().split())))for i in peoples: k = 0 for j in peoples: if i[0] 해설처음에는 등수를 계산하는걸 어렵게 생각해서 여러번 틀렸다.몇 번 틀리고 단순하게 자기보다 덩치가 큰사람이 몇 명 있는지 확인해주면 끝나는 간단한 문제라는 걸 깨닫고 바로 새롭게 코드를 구현해서 제출하니 정답... 너무 어렵게 생각하지말고 단순하게 문제를 풀자!!! 2022. 1. 28.
반응형