본문 바로가기
728x90
반응형

Python3173

2022.05.09 [프로그래머스] (python 파이썬) 스킬트리 https://programmers.co.kr/learn/courses/30/lessons/49993?language=python3 코딩테스트 연습 - 스킬트리 programmers.co.kr 풀이 이 문제는 유저가 만든 각 스킬트리(skill_trees)를 선행스킬순서(skill)대로 확인하며 각 스킬트리가 가능한지 확인했다. 우선 skill의 각 인덱스순서대로 값을 꺼내 tree에 들어있지않으면 ch_order을 False로 바꿔주었다. 이유는 선행스킬을 찍지않았지만 이후 스킬을 찍는 것을 판단하기 위함이다. skill의 각 인덱스순서대로 값을 꺼내 tree에 들어있는지 확인하고 들어있으면 해당 값이 있는 인덱스 위치를 num변수에 저장했다. 만약 tree.index(i)의 값이 num보다 크거나 c.. 2022. 5. 9.
2022.05.09 [백준] (python 파이썬) 트리의 부모 찾기 https://www.acmicpc.net/problem/11725 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net 풀이 이 문제를 해결하기 위해 BFS를 이용했다. 이유는 1을 루트 노드로 정했을 때, 1을 기준으로 각 자식노드로 내려가며 vis배열에 부모노드를 저장하기 위해서 이다. 우선 graph배열에 각 노드와 연결된 노드들을 저장했다. 그리고 각 노드에 대한 방문여부를 확인하고 각 노드의 부모 노드를 저장하기 위한 vis배열을 -1로 초기화하였다. 이 후, 루트 노드인 1을 bfs배열에 넣어 vis[1]을 0으로 선언 후 while문으로 각 노드의 자식노드를 확인했.. 2022. 5. 9.
2022.04.25 [백준] (python 파이썬) 동전 뒤집기 https://www.acmicpc.net/problem/1285 1285번: 동전 뒤집기 첫째 줄에 20이하의 자연수 N이 주어진다. 둘째 줄부터 N줄에 걸쳐 N개씩 동전들의 초기 상태가 주어진다. 각 줄에는 한 행에 놓인 N개의 동전의 상태가 왼쪽부터 차례대로 주어지는데, 앞면이 위 www.acmicpc.net 풀이 이 문제는 열 또는 행의 동전을 뒤집었을 때와 뒤집지 않았을 때의 뒷면 T의 최소 갯수를 구하는 문제이다. 위의 설명에서 보면 2가지 경우가 있다. 그래서 비트마스킹으로 각 행에대해 뒤집냐 뒤집지않냐를 고려해줄것이다. 예를 들면 (110)이면 1, 2행을 뒤집고 3행은 뒤집지않는 경우를 고려한다는 말이다. 먼저 T개수의 최소값을 저장할 ans변수를 생성해준다. 여기서 값을 n*n으로 해준.. 2022. 4. 25.
2022.04.24 [백준] (python 파이썬) N-Queen https://www.acmicpc.net/problem/9663 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 풀이 https://blog.encrypted.gg/945 [실전 알고리즘] 0x0C강 - 백트래킹 이번에는 백트래킹을 배워보도록 하겠습니다. 백트래킹도 재귀와 더불어 많은 사람들이 고통을 호소하는 알고리즘 중 하나이지만 의외로 그 재귀적인 구조에 매료되어서 참재미를 알아버리는 blog.encrypted.gg 해당 문제는 위의 블로그에서 공부한 후, 참고하여 해결했습니다. 이 문제를 해결할 때, 퀸이 놓일때마다 .. 2022. 4. 24.
728x90
반응형