2021/01/06 2

[BOJ 백준] 9466번 : 텀 프로젝트 - 파이썬, Python

www.acmicpc.net/problem/9466 9466번: 텀 프로젝트 이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원 수에는 제한이 없다. 심지어 모든 학생들이 동일한 팀의 팀원인 경우와 같이 한 팀만 있을 www.acmicpc.net DFS를 활용해 사이클 여부를 판단하는 문제이다. 사이클 여부를 판단하는데 익숙하지 않아서 다른 사람들의 코드를 보고 풀었다. 꼭 복습해야한다, 소스코드 import sys sys.setrecursionlimit(111111) # 재귀 깊이 설정 sys.stdin = open("input.txt", "r") def dfs(cur): global cnt, visited, done visited[cur] = True n..

[Level 4 프로그래머스] 카카오 기출, 2020 KAKAO BLIND RECRUITMENT - 가사 검색(Python)

programmers.co.kr/learn/courses/30/lessons/60060 코딩테스트 연습 - 가사 검색 programmers.co.kr 트라이(Trie) 자료형을 사용하여 풀 수도 있지만, 이분탐색을 사용해서 풀어보았다. 이분탐색은 따로 구현하지 않고 Python의 bisect 라이브러리를 활용하였다. 문제 해결 2개의 배열을 사용한다. 각각 주어진 단어, 단어의 순서를 반대로 한 단어를 리스트에 추가한다. 예를들면 "frodo"라는 단어를 "frodo"와 "odorf"로 나누어 각각의 배열에 담는다. 단어의 순서를 바꾸는 것은 word[::-1] 을 하여 append 하면 거꾸로 담긴다 각 배열을 이분탐색을 하기 위해 정렬한다. queries가 접미사인지, 접두사인지 구분하고 그에 맞게 ..