본문 바로가기
728x90

backjoon16

Backjoon 1094번 막대기 1094번 막대기 입니다. https://www.acmicpc.net/problem/1094 1094번: 막대기 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대 www.acmicpc.net 일단 정답 코드입니다. X = int(input()) print(list(bin(X)[2:]).count('1')) 64cm막대기를 반씩 자르고 한쪽만 가져가는 동작을 계속하면 64, 32, 16, 8, 4, 2, 1 의 막대기중 하나를 선택할 수 있습니다. 이 막대를 가지고 Xcm의 막대를 만들 때 막대를 최소로 사용하는 방법을 출력하는 것입니다. 이때 X가 23이.. 2020. 12. 1.
Backjoon 1920번 수 찾기 보호되어 있는 글 입니다. 2020. 8. 12.
Backjoon 1012번 유기농 배추 백준 알고리즘 1012번 유기농 배추 DFS를 사용하면 풀수 있는 문제입니다. 이번에는 스택이나 큐를 사용하지 않고 리스트와 리컬시브만을 사용해서 풀어봤습니다. 결국 DFS도 스택큐를 이용한 리컬시브겠죠? 1이 있는 곳에서 상하좌우를 순회하며 1을 다 0으로 바꿉니다. 그럼 sol 함수가 몇번 호출되는지 카운팅 하면 답이 됩니다. 정답 코드 import sys sys.setrecursionlimit(50000) def sol(x,y): mat[x][y]= 0 for i in range(4): mx = dx[i]+x my = dy[i]+y if (0 2020. 8. 12.
Backjoon 15651번 n과 M 링크 백준 알고리즘 15651번 n과 M 링크 파이썬을 사용하였습니다. 단계별로 풀어보기 백트레킹 단계에 있는 문제로 파이썬 라이브러리를 사용하여 해결하였습니다. itertools 라이브러리의 product 메서드를 사용합니다. 매서드는 주어진 리스트의 모든 조합을 튜플로 추출하며 내부 변수 repeat 사용하여 리스트 요소의 중복을 허용합니다 정답 코드 from itertools import * n,m = map(int,input().split(' ')) a=[i+1 for i in range(n)] for i in product(a,repeat=m): for i2 in i: print(i2,end=' ') print() 2020. 8. 12.
728x90