목록Group (57)
정화 코딩

05-3. 이진 탐색 029. 수 찾기 (백준 1920번) https://www.acmicpc.net/problem/1920 from sys import stdin n = int(stdin.readline()) a = list(map(int, stdin.readline().split())) m = int(stdin.readline()) data = list(map(int, stdin.readline().split())) a.sort() for x in data: find = False start = 0 end = len(a) - 1 while start x: end = mid - 1 elif a[mid] < x: start = mid + 1 else: find = True break if(find): p..

05-1. 깊이 우선 탐색 023. 연결 요소의 개수 (백준 11724번) https://www.acmicpc.net/problem/11724 from sys import stdin import sys sys.setrecursionlimit(10000) n, m = map(int, stdin.readline().split()) data = [[] for i in range(n)] visited = [False] * n def DFS(v): visited[v] = True for i in data[v]: if not visited[i-1]: DFS(i-1) for i in range(m): a, b = map(int, stdin.readline().split()) data[a-1].append(b) dat..

04-3. 삽입 정렬 018. ATM (백준 11399번) https://www.acmicpc.net/problem/11399 from sys import stdin n = int(stdin.readline()) data = list(map(int, stdin.readline().split())) for i in range(1, n): value = data[i] for j in range(i-1, -1, -1): if(data[j] > value): data[j+1] = data[j] else: data[j+1] = value break if(j==0): data[0] = value sum = 0 for i in range(0, n): sum += (n-i) * data[i] print(sum) 저번에..

A. 외계인의 기타 연주 (백준 2841번) https://www.acmicpc.net/problem/2841 #python from sys import stdin n, p = map(int, stdin.readline().split()) stk = [[] for _ in range(6)] count = 0 for _ in range(n): line, fret = map(int, stdin.readline().split()) if len(stk[line-1]) == 0: stk[line-1].append(fret) count += 1 else: if fret > stk[line-1][-1]: stk[line-1].append(fret) count += 1 else: while fret < stk[line..

03-5. 스택과 큐 011. 스택 수열 (백준 1874번) https://www.acmicpc.net/problem/1874 from sys import stdin n = int(stdin.readline()) data = [] stk = [] ans = [] for _ in range(n): data.append(int(stdin.readline())) i = 0 for j in range(1, n+1): stk.append(j) ans.append("+") while (data[i] == stk[-1]): stk.pop() ans.append("-") i += 1 if len(stk) == 0: break if len(stk) == 0: for i in ans: print(i) else: print..

A. 슈퍼 마리오 (백준 2851번) https://www.acmicpc.net/group/practice/view/18074/5 #python from sys import stdin sum = 0 mush = [] mushSum = [0] for i in range(0, 10): mush.append(int(stdin.readline())) sum += mush[i] mushSum.append(sum) for i in range(1, 11): if mushSum[i] >= 100: if (mushSum[i] - 100) = m: break count += j print(count) 투 포인터를 사용해서 풀었다. 아마도... (정답) C. 게으른 백곰 (백준 10025번) https://www.acmic..

03-2. 구간 합 003. 구간 합 구하기 4 (백준 11659번) https://www.acmicpc.net/problem/11659 from sys import stdin n, m = map(int, stdin.readline().split()) data = list(map(int, stdin.readline().split())) sum = [0] temp = 0 for k in range(0, n): temp += data[k] sum.append(temp) for k in range(0, m): i, j = map(int, stdin.readline().split()) print(sum[j] - sum[i-1]) (정답) 참고로 나는 숫자 리스트에는 data[0]부터 첫번째 값을 차례로 넣었고,..

A. 알고리즘 수업 - 알고리즘의 수행 시간 1 (백준 24262번) https://www.acmicpc.net/problem/24262 #python print("1\n0") 당연히 from sys import stdin을 쓰고 있었는데... 생각해보니 수행 횟수가 입력값에 영향을 받지 않아서 입력이 사실상 필요가 없는... 어이없는 문제. (정답) B. 색종이 (백준 2563번) https://www.acmicpc.net/problem/2563 #python from sys import stdin paper = [[0] * 100 for _ in range(100)] n = int(stdin.readline()) count = 0 for i in range(0, n): x, y = map(int, s..