728x90 전체 글 백준 문제풀이 2022. 9. 3. [백준][파이썬] 1966 프린터 큐 1.문제 분석 프린터의 중요도가 높은 것부터 출력 그 중 내가 알고 싶은 자료의 출력 순번을 출력하는 문제 FIFO 2. 기본 아이디어 deque를 사용해 현재 숫자를 뒤로 보낼지 결정한다. 제일 큰 중요도부터 출력되도록 만든다. 3.문제 풀이 from collections import deque t = int(input()) for i in range(t): n, m = map(int, input().split()) lst = deque(list(map(int, input().split()))) cnt = 0 while lst: maximum = max(lst) # 가장 큰 중요도를 maximum에 저장한다. front = lst.popleft() # 맨 앞의 중요도를 front에 저장하고 lst에서 .. TOEIC 2022. 8. 27. [토익] 기출 모의고사 Test 4 기록 이번 모의고사는 만족도가 높았다. LC의 경우 문제가 잘 들린 것도 좋았지만, 내가 무슨 문제를 틀렸을지 스스로 인지할 수 있게 되었다는 것이 좋았다. RC는 조금 더 읽는 것에 집중해야겠다는 생각이 들었다. 읽어놓고, 말한 주체를 헷갈리는 일은 다시는 있으면 안될 것이다. LC는 꾸준히 잘 들으면 유지될 것 같다. RC는 풀이 순서를 바꾼 것이 효과적이었다. 시계는 part당 한 번만 보도록 해야겠다. TOEIC 2022. 8. 27. [토익] 기출 모의고사 Test 3 기록 이번 모의고사의 경우 RC 시간이 부족했다. 원인은 part6과 part7에서 안 풀리는 문제를 붙잡고 있던 것과 part5를 푸는데 12분이 소요되었다는 것이다. 이번 LC는 무난히 잘 풀린 것 같다. RC의 경우 시간을 70분으로 잡고 빠듯하게 풀어야겠다. TOEIC 2022. 8. 27. [토익] 기출 모의고사 Test 2 기록 듣기 중 꾸준한 집중이 필요하다고 생각했다. ybm 사이트에 들어가니 고사장 소음이 추가된 듣기 파일이 있길래, 다음 기출부터는 그 파일을 활용해야겠다. LC의 경우 중간중간 집중이 무너졌다. 정신을 차릴 수 있도록 노력해야겠다. RC의 경우 part7의 뒷부분이 쉽게 정복되지 않는다. 문제 푸는 순서를 바꿔봐야겠다고 생각했다. TOEIC 2022. 8. 27. [토익] 기출 모의고사 Test 1 기록 첫 기출 풀이에서는 part3, part5, part7 장문의 취약점을 발견했다. part3: 듣기 어휘 공부와 함께 많이 듣는 것 위주로 공부해야겠다. part5: 시제, 부사어휘, 복합명사에서 실수가 있었다. part7: 장문을 독해할 때는 문제를 먼저 읽고 문제에서 요구할만한 정보에 표시를 해야겠다. 백준 문제풀이 2022. 8. 27. [백준][파이썬] 10816 숫자 카드 2 1.문제 분석 정렬 문제 시간초과 유의 문제 2. 기본 아이디어 리스트를 비교할 때 for 혹은 while을 쓰면 시간초과가 생긴다. 따라서 딕셔너리로 값을 받아와 키값을 출력하는 방식을 채택한다. 이진 탐색을 통해서 문제를 풀 수 있다. 3.문제 풀이 첫번째 풀이 import sys n = int(sys.stdin.readline()) cards = sorted(list(map(int, sys.stdin.readline().split()))) m = int(sys.stdin.readline()) have = list(map(int, sys.stdin.readline().split())) cnt = {} for num in cards: # cards 안의 숫자들을 cnt 딕셔너리의 밸류값으로 받아온다. .. 백준 문제풀이 2022. 8. 27. [백준][파이썬] 10828 스택 1.문제 분석 스택을 구현하는 문제 스택은 위로 쌓는 자료구조다. 즉 LLIFO( Last In First Out)이다. 2. 기본 아이디어 리스트를 생성한 후 append, pop등의 함수를 적절히 활용한다. 3.문제 풀이 import sys n = int(sys.stdin.readline()) lst = [] for i in range(n): s = sys.stdin.readline().split() if(s[0] == 'push'): lst.append(s[1]) elif(s[0] == 'pop'): if lst: print(lst[-1]) lst.pop() else: print("-1") elif (s[0] == 'size'): print(len(lst)) elif(s[0] == 'empty'):.. 백준 문제풀이 2022. 8. 27. [백준][파이썬] 10845 큐 1.문제 분석 문제에 주어진 명령들을 구현하는 문제 큐를 이해하는 문제 2. 기본 아이디어 deque를 사용하여 편리하게 구현할 수 있다. 3.문제 풀이 import sys from collections import deque n = int(sys.stdin.readline()) lst = deque() for i in range(n): s = sys.stdin.readline().split() if(s[0] == 'push'): lst.append(s[1]) elif(s[0] == 'pop'): if lst: print(lst[0]) lst.popleft() else: print("-1") elif (s[0] == 'size'): print(len(lst)) elif(s[0] == 'empty'): i.. 백준 문제풀이 2022. 8. 27. [백준][파이썬] 2164 카드 2 1.문제 분석 맨 앞 카드를 버리고 남은 카드 중 맨 앞 카드를 뒤로 옮기는 행위를 반복하는 것을 구현하는 문제 2. 기본 아이디어 deque 모듈을 사용한다. popleft함수와 rotate함수를 적절히 사용하여 문제를 푼다. 3.문제 풀이 from collections import deque n = int(input()) lst = deque([i for i in range(1, n+1)]) while(True): if(len(lst) == 1): # 만약 n이 1일 경우는 바로 값을 반환한다. print(lst[0]) break elif(len(lst) >= 1): # 그 밖의 경우는 맨 앞의 수를 제거하고 맨 앞 수를 뒤로 옮겨준다. lst.popleft() lst.rotate(-1) 이전 1 ··· 12 13 14 15 16 17 18 다음 728x90