목록큐 (7)
정화 코딩
EDOC 과제를 다 풀고 추가로 푸는 문제들을 꾸준히 문제 풀기 글로 따로 정리하려고 한다. 1/14. 덩치 (백준 7568번) https://www.acmicpc.net/problem/7568 #python from sys import stdin n = int(stdin.readline()) data = [] ans = [] for _ in range(n): x, y = map(int, stdin.readline().split()) data.append([x, y]) for i in range(n): k = 1 for j in range(n): if (data[j][0] > data[i][0]) and (data[j][1] > data[i][1]): k += 1 ans.append(k) for x in..
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..
9/1. 이항 계수 1 (백준 11050번) https://www.acmicpc.net/problem/11050 #python import sys def fact(num) : ans = 1 for i in range(1, num+1) : ans *= i return ans n, k = map(int, sys.stdin.readline().split()) ans = fact(n) / (fact(k) * fact(n-k)) print(int(ans)) 저번에 풀었던 문제이지만 저번에 풀 때는 함수를 만들어서 하지 않았기 때문에, 이번에는 함수를 만들어서 활용하는 방법으로 풀어봤다. (정답) 9/3. 카드2 (백준 2164번) https://www.acmicpc.net/problem/2164 #python i..
깃허브에 코딩 문제 풀기용 레포지토리를 만들었다. 깃허브에 올리는 연습을 하기 위해... 후후 깃헙과 친해질거다!! 8/28. 직각삼각형 (백준 4153번) https://www.acmicpc.net/problem/4153 #python import sys while True : a, b, c = map(int, sys.stdin.readline().split()) if a + b + c == 0 : exit() max = c if a > max : max = a if b > max : max = b if a*a + b*b + c*c == max*max*2 : print("right") else : print("wrong") (정답) 8/28. 블랙잭 (백준 2798번) https://www.acmicp..
파이썬으로 스택 구현하기 (by 리스트) class Stack : def __init__(self) : self.items = [] def push(self, item) : self.items.append(item) def pop(self) : if not self.isEmpty() : return self.items.pop() else : print("Stack underflow") exit() def peek(self) : return self.items[-1] def isEmpty(self) : return not self.items def size(self) : return len(self.items) def clear(self) : self.items = [] 파이썬으로 큐 구현하기 (by 리스..
8/21. 벌집 (백준 2292번) https://www.acmicpc.net/problem/2292 #python n = int(input()) count = 1 num = 1 while n > num : num += count * 6 count += 1 print(count) 헷갈려서 이런 식으로 그려가면서 규칙을 찾았다. 각 줄에서 최대인 수는 1, 7, 19, 37, 61인데, 공차가 6, 12, 18 이런 식으로 6의 배수였다. (정답) 8/21. 괄호 (백준 9012번) https://www.acmicpc.net/problem/9012 #python import sys num = int(sys.stdin.readline()) count = 0 while count < num : data = s..
스택 (Stack) 💡 정의 자료의 입력과 출력을 한 곳(방향)으로 제한한 자료구조 💡 특징 - 후입선출 구조: 마지막(Last)에 들어온(In) 데이터가 먼저(First) 나간다(Out) → Last-in-first-out(LIFO) - 시간복잡도: 삽입 삭제 연산 O(1) - top을 통해 접근하기 때문에 데이터 접근, 삽입, 삭제가 빠르다. - top 위치 이외의 데이터에 접근할 수 없으므로 탐색할 수 없다. 탐색하려면 모든 데이터를 꺼내면서 진행해야 한다. 💡 관련 용어 - top(peek): 가장 최근에 저장된 데이터이자 먼저 삭제 될 데이터 - push: 데이터 넣기/삽입. (삽입 된 데이터는 삭제시 가장 먼저 삭제 될 데이터가 됨.) - pop: 데이터 꺼내기/삭제. (가장 최근에 저장된 데..