본문 바로가기

반응형

코딩 테스트/백준

(2)
[백준 1260번] DFS와 BFS - Python 백준 1260문제 문제 파악 그래프에 대한 정보가 주어진다. 해당 그래프의 노드(정점)들에는 숫자가 주어져있으며 DFS와 BFS 각각의 방법으로 탐색했을때 지나가는 순서를 구해야한다. 이 문제를 푸는 과정은 크게 다음과 같이 단계를 나누어서 접근했다. 입력 데이터들을 사용하기 쉽게 변환하여 그래프 배열을 구한다. DFS와 BFS를 수행하는 함수를 만든다. 그래프와 시작 노드 그리고 DFS, BFS 함수 등을 이용하여 방문하는 노드 순서 출력 2번의 경우 이전에 DFS, BFS 알고리즘에서 다루었다. 그래서 나머지 부분은 큰 어려움이 없었다. 무엇을 찾아야하는 조건이 없었고 전역 탐색만 수행하면 되었기에 쉬운 문제라고 생각했다. 하지만 이 문제의 관건은 1번이었다. 주어진 입력 데이터들을 2차원 배열로 정..
[백준 10039번] 평균 점수 - 파이썬(Python) 백준 10039번 문제 문제 파악 5명의 학생들의 평균 점수를 구하는 문제이다. 유의할 부분은 점수가 40점 미만일 경우에는 40점으로 간주하여 구해야한다. 문제 풀이 상당히 쉬운 문제로 간단한 조건문으로 답을 구할 수 있다. 그런데 이 문제에 사실 큰 함정이 있다. 점수가 모두 5의 배수이므로 평균 점수는 항상 정수라고 명시된 부분이다. 평균은 학생들의 총점을 학생 수로 나누어서 구하는데, 나눗셈 결과의 자료형은 float으로 나온다. 예를들어, 위의 예제 입력값을 이용하여 계산해보면 다음과 같다. total_score = 40 + 65 + 100 + 40 + 95 # 40미만의 점수는 40점으로 치환 print(total_score) # 340 그리고 총점을 학생 수 5로 나누어 준다면 결과는 68...