본문 바로가기
728x90

backjoon16

Backjoon 2164번 카드2 백준 알고리즘 2164번 카드2 파이썬을 사용하였습니다. 큐를 구현하면 쉽게 풀수 있는 문제입니다. 다만 라이브러리를 이용하지 않고 직접 큐를 구현하려 한다면 은근 어려울 수 있습니다. 파이썬은 라이브러리와 직접 짠 코드의 속도차이가 좀 많이 나는 편입니다. collections 라이브러리에 deque를 활용했습니다. 정답 코드 from collections import deque n = int(input()) li = deque([i+1 for i in range(n)]) while len(li)>1: li.popleft() li.rotate(-1) print(li[0]) 2020. 7. 24.
Backjoon 12852번 두 수 비교하기 백준 알고리즘 1330번 두 수 비교하기 파이썬을 사용하였습니다. 연산자를 이용하면 간단하게 풀수 있습니다. 정답 코드 a,b = map(int,input().split(' ')) if a==b: print('==') else: if a>b: print('>') else: print(' 2020. 7. 16.
Backjoon 1260번 DFS 와 BFS 백준 알고리즘 1260번 DFS와 BFS 파이썬을 사용하였습니다. 단계별로 풀어보기 DFS와 BFS 첫번째 단계에 있는 문제입니다. 입력 정점의 개수, 간선의 개수, 탐색 시작할 정점을 받습니다. 시작된 정점에서 BFS,DFS를 수행한다 저는 파이썬의 딕셔너리를 이용해서 풀었습니다. 딕셔너리에 key에 각 정점을 저장하고 values에는 정점이 가지는 간선, 즉 이동하는 정점을 담습니다. DFS는 Stact을 활용, BFS는 que를 활용하여 풉니다. DFS만 간단하게 설명하면 stact이라 적혀있는 리스트에 가장먼저 시작하는 정점을 append 합니다. 이제 stact의 가장 마지막 부분을 뽑아냅니다. 뽑아낸 정점이 visit에 없으면 visit에 추가하고 뽑아낸 정점을key로 가지는 리스트 value.. 2020. 7. 16.
Backjoon 1021번 회전하는 큐 백준 알고리즘 1021번 회전하는 큐 파이썬을 사용하였습니다. 단계별로 풀어보기 큐. 부분에 6번째 단계에 있는 문제입니다. 정말 간단하게 풀었습니다. 주어진 큐의 크기만큼 미리 정해놓고 왼쪽회전, 오른쪽 회전의 경우 두가지를 확인했습니다. 매번 요소를 추출할때마다 왼쪽과 오른쪽 회전의 경우를 비교한 후 더욱 적은 쪽으로 선택하게 됩니다. 정답 코드 2020. 7. 15.
728x90