본문 바로가기
728x90
반응형

Python169

2022.03.03 [백준] (python 파이썬) 1, 2, 3 더하기 https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 풀이 다음 문제는 1,2,3을 더해서 n을 만들 수 있는 가지 수를 구하는 문제이다. 1,2,3이 중복해서 사용해도 되고, 갯수 제한이 없다. 그래서 dfs를 이용하여 코드를 작성했다. for문안에 cnt배열을 만들어 각 케이스를 실행할 때, 초기화 되도록 만들었다. dfs함수는 sum==target이면 cnt[target]가 카운팅된다. 그리고 만약 sum>target이면 범위를 넘었기 때문에 return시켜준다. 아래의 코드를 각 상황마다 배열을 초기화시켜주고 dfs함수를 돌린다. 1 2 3.. 2022. 3. 3.
2022.03.01 [프로그래머스] (python 파이썬) 네트워크 https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr 풀이 이문제는 연결된 노드만 모두 거치면 되는 문제이기 때문에 bfs, dfs모두 사용가능하다. 아래 코드는 bfs를 이용해 해결한 코드이다. 우선 입력받은 computers배열에서 각 컴퓨터와 연결된 컴퓨터들을 graph에 담는 작업을 했다. computers의 배열은 0번째 컴퓨터부터 순서대로 있으므로 w를 이용해 컴퓨터의 번호를 메겼다. 그리고 i[j.. 2022. 3. 1.
2022.03.01 [프로그래머스] (python 파이썬) 타겟 넘버 https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 programmers.co.kr 풀이 dfs를 활용하여 각 배열의 부호가 +,-일때의 경우를 생각해서 코드를 작성했다. dfs의 파라미터는 들어간 숫자의 갯수, 들어간 숫자의 합으로 지정했다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 def solution(numbers, target): answer=0 def dfs(a,sum): nonlocal an.. 2022. 3. 1.
2022.03.01 [프로그래머스] (python 파이썬) 파괴되지 않은 건물 https://programmers.co.kr/learn/courses/30/lessons/92344 코딩테스트 연습 - 파괴되지 않은 건물 [[5,5,5,5,5],[5,5,5,5,5],[5,5,5,5,5],[5,5,5,5,5]] [[1,0,0,3,4,4],[1,2,0,2,3,2],[2,1,0,3,1,2],[1,0,1,3,3,1]] 10 [[1,2,3],[4,5,6],[7,8,9]] [[1,1,1,2,2,4],[1,0,0,1,1,2],[2,2,0,2,0,100]] 6 programmers.co.kr 파괴되지 않은 건물 문제 설명 [본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.] N x M 크기의 행렬 모양의 게임 맵이 있습니다. 이 맵에는 내구도를 가진 건물이 각 칸마다 하나씩 있습니다.. 2022. 3. 1.
728x90
반응형