화이팅 4

[삼성SW테스트 준비] 7. DFS와 BFS 활용

학습자료: 알파카고수님의 블로그(https://m.blog.naver.com/wpghks7/221604689852) [파이썬으로 시작하는 삼성 SW역량테스트] - 7. DFS와 BFS의 활용 ※실제 시험 시itertools 모듈이 사용 불가능하다는 말이 있습니다. 게시글은 나중에 수정하겠습니다. 저번... blog.naver.com 1. DFS가 사용되는 방식 1. 연결된 그래프를 모두 탐색하는 데 사용 2. 특정 조합을 뽑는 경우에 사용. 3. 순열과 조합 구현 시 많이 사용. 2. BFS가 사용되는 방식 1. 연결된 그래프를 모두 탐색하는 데 사용 2. 특정 그래프에서 가중치가 모두 같을 경우 최단거리를 찾을 수 있다. 연습문제: 백준 2178 미로(https://www.acmicpc.net/prob..

[백준] 10872 팩토리얼, 10870 피보나치 수 5

10872번: 팩토리얼 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 팩토리얼은 3가지 방법으로 풀었다. 재귀 함수로 한번, 반복문을 이용해 한번, 파이썬 자체적인 내장함수를 이용해 한번. 내장함수를 쓰는 방법이 제일 오래 걸렸다. # 10872 팩토리얼 # 첫 번째 방법: 재귀함수 def fact(N): if N > 0: return N * fact(N-1) else: return 1 N = int(input()) ret = fact(N) print(ret) # 두 번째 방법 : 반복문 활용 N = int(input()) sum = 1 for i in range(N, 0, -1): sum *= i prin..

[백준] 10250. ACM 호텔

10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net 이 문제는 쉽게 접근해서 풀었지만, 중간에 미처 찾지 못한 반례때문에 계속 틀리다가 반례를 알아내서 맞춘 문제이다. 처음에는 이렇게 flag 없이 풀었다. # 10250 ACM호텔 T = int(input()) for tc in range(1, T+1): H, W, N = map(int, input().split()) cnt = 1 for w in range(1, W+1): for h in range(1, H+1): if cnt == N: print(..

[백준] 4344. 평균은 넘겠지

4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 이 문제에서 배운 것은 round() 함수가 소수점이 0일 경우에는 자릿수만큼 출력을 안해주고, 그냥 생략해버린다는 것이다. 그래서 특정 소수점 자리수만큼 출력하고 싶다면 {:.3f} 이런 식으로 .format() 함수의 변수 위치에 자릿수를 표기해주는 것이 좋다. 그러면 소수점 뒷 자리가 모두 0이더라도 적어둔 숫자만큼 자릿수를 표기한다. # 4344 평균은 넘겠지 C = int(input()) for tc in range(1, C+1): # 우선 들어오는 숫자들을 리스트로 저장. arr = list(map(int, input().spl..