본문 바로가기
728x90

분류 전체보기107

Backjoon 10816번 숫자 카드2 백준 알고리즘 10816번 숫자 카드2 파이썬을 사용하였습니다. 단계별로 풀어보기 이분 탐색에 2번째 문제로 분류되어있는 문제입니다. 입력 1번째 줄 입력에 입력 받을 카드의 수를 입력받습니다. 2번째 줄 입력에 카드의 번호를 입력받습니다. 3번째 줄 입력에 확인할 카드의 수를 입력받습니다. 4번째 줄 입력에 확인할 카드의 번호를 입력받습니다. 저는 파이썬의 딕셔너리를 이용해서 풀었습니다. 4번째 줄에서 입력받는 숫자가 딕셔너리에 있으면 답을 출력하고 만약 없으면 0을 출력합니다. 정답코드 n = int(input()) dic = {} n = list(map(int,input().split(' '))) for i in n: if i in dic: dic[i]+=1 else: dic[i]=1 n = int.. 2020. 8. 5.
Backjoon 8393번 합 백준 알고리즘 8393번 합 파이썬을 사용하였습니다 반복문과 연산자를 이용하면 간단하게 풀수 있습니다. 정답 코드 n = int(input()) for i in range(n): n+=i print(n) 2020. 8. 5.
Backjoon 2606번 바이러스 백준 알고리즘 2606번 바이러스 파이썬을 사용하였습니다. 단계별로 풀어보기 DFS와 BFS에 두번째 단계에 있는 문제입니다. 입력 첫줄에 N개의 컴퓨터의 수가 주어집니다. 둘째줄에 연결되어있는 컴퓨터 쌍의 갯수가 주어집니다. 셋째줄 부터 연결되어있는 컴퓨터 쌍의 이름이 주어집니다. 출력 1번 컴퓨터를 통해 바이러스에 감염되는 컴퓨터 수를 출력 입력 예시 DFS를 사용하면 간단하게 풀 수 있습니다. stact이라 적혀있는 리스트에 가장먼저 시작하는 정점을 append 합니다. 이제 stact의 가장 마지막 부분을 뽑아냅니다. 뽑아낸 정점이 visit에 없으면 visit에 추가하고 뽑아낸 정점을key로 가지는 리스트 values를 정렬해서 extend합니다. 이 과정을 stact에 리스트가 빈 리스트가 되.. 2020. 8. 5.
Backjoon 2231번 분해합 백준 알고리즘 2231번 분해합 파이썬을 사용하였습니다. 단계별로 풀어보기 브루트 포스 단계에 있는 문제입니다. 브루트 포스 알고리즘은 모든 경우의 수를 다 대입해서 문제를 푸는 방법입니다. 즉 문제에 설명에 나와있는 방법대로 알고리즘을 작성하시면 됩니다. for문을 사용한 반복문을 사용해도 시간내에 통과하는 문제입니다. 시간을 줄일수 있는 방법은 있지만 일단 이 문제는 for 문으로도 간단히 통과하네요?? 정답 코드 def sol(n): for i in range(n): te =str(i) num = sum(map(int,list(te))) if n == (i+ num): return i return 0 n = int(input()) print(sol(n)) 2020. 8. 1.
728x90