본문 바로가기
반응형

백준4

[백준] 5397번 : 키로거 유형 : 스택, 구현, 그리디 [예제] 2 입력 : 오른쪽 스택에서 왼쪽 스택으로 원소 이동 ** 오른쪽 스택의 경우, 마지막 출력할 때 스택을 뒤집어서 출력해야 함! 강의에서 설명한 핵심 아이디어를 본 예시에 적용해서 해석(?)했다. 2. 풀이 밑에는 내 풀이(틀림)인데...다시 풀어봐야 한다.. 더보기 ## 백준 5397 L = int(input()) for _ in range(L): text = input() #text = [(i, idx) for idx,i in enumerate(text)] cursor = 0 # 커서 위치 temp = [] count = 0 for j in range(len(text)): if text[j] in ('','-'): k = j c1 = 0 c2 = 0 c3 = 0.. 2021. 12. 11.
[백준] 1966번 : 프린터 큐 유형 : 스택, 그리디 [예시] 3 1 0 5 4 2 1 2 3 4 6 0 1 1 9 1 1 1 [출력] 1 2 5 예시를 통해 문제를 이해해보자. 테스트 케이스 개수가 3개인데 여기서 2번째, 3번째만 살펴보겠다. 1) 2번째 케이스 2) 3번째 케이스 풀이 test_case = int(input()) for _ in range(test_case): n, m = list(map(int, input().split(' '))) queue = list(map(int, input().split(' '))) queue = [(i,idx) for idx, i in enumerate(queue)] # (중요도, 인덱스) count = 0 while True: if queue[0][0] == max(queue, ke.. 2021. 12. 10.
[백준] 1874번 : 스택 수열 1. 내가 푼 풀이(틀림) 결론적으로 올바른 결과를 구하지 못했다. 리스트 전체를 입력받아서 이를 처리하는 게 까다로웠던 것 같고, 핵심 포인트를 잘못 잡았다. (밑에 핵심 포인트 2번을 놓친 듯하다) 더보기 # 내 풀이(틀림) n = int(input()) print(n) list1 = [] for i in range(n): list1.append(int(input())) list2 = [] num = 1 i = 0 while(i < n): print('i : ', i) print('num : ', num) print('list1[i] : ', list1[i]) if num == list1[i]: print('+') print('-') list2.append('+') list2.append('-') i.. 2021. 12. 8.
[백준] 2920번: 음계 a = list(map(int, input().split(' '))) ascending = True descending = True for i in range(1,8): if a[i] > a[i-1]: descending = False elif a[i] < a[i-1]: ascending = False if ascending: print('ascending') elif descending: print('descending') else: print('mixed') 1. 다시 생각해봐야 할 문제 a = list(map(int, input().split(' '))) input()을 통해 그대로 받아들이게 되면 string 형태가 되기 때문에, 숫자를 하나씩 비교하기 까다로워진다. 그래서 우선 split(' '.. 2021. 12. 6.
반응형