본문 바로가기

반응형

코딩 문제 풀이

(3)
[백준 10039번] 평균 점수 - 파이썬(Python) 백준 10039번 문제 문제 파악 5명의 학생들의 평균 점수를 구하는 문제이다. 유의할 부분은 점수가 40점 미만일 경우에는 40점으로 간주하여 구해야한다. 문제 풀이 상당히 쉬운 문제로 간단한 조건문으로 답을 구할 수 있다. 그런데 이 문제에 사실 큰 함정이 있다. 점수가 모두 5의 배수이므로 평균 점수는 항상 정수라고 명시된 부분이다. 평균은 학생들의 총점을 학생 수로 나누어서 구하는데, 나눗셈 결과의 자료형은 float으로 나온다. 예를들어, 위의 예제 입력값을 이용하여 계산해보면 다음과 같다. total_score = 40 + 65 + 100 + 40 + 95 # 40미만의 점수는 40점으로 치환 print(total_score) # 340 그리고 총점을 학생 수 5로 나누어 준다면 결과는 68...
[프로그래머스] 타겟 넘버 - 자바스크립트(JavaScript) 프로그래머스의 깊이/너비 우선 탐색(DFS/BFS) 관련 문제들 중 하나인 타겟 넘버를 풀어보았다. 이 문제는 DFS(Depth First Search) 문제일 것이다. 문제 파악 다음과 같이 사용할 수 있는 숫자가 담긴 배열과 타겟 넘버가 매개변수로 주어지며, 이 숫자들을 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 구해야하는 문제이다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 최단 거리를 구하는 문제가 아닌, 모든 경우의 수를 따져보아야하는 문제였다. 위의 예시에서는 배열의 길이가 5이므로 총 경우의 수는 32가지이다. 즉 주어진 배열의 길이가 N개라면 2 ** N(2의 N승)의 경우의 수가 존재하는 ..
[프로그래머스] 게임 맵 최단거리 - 자바스크립트(JavaScript) 문제 파악 게임 맵 최단거리 문제는 깊이/너비 우선 탐색(DFS/BFS) 카테고리에 해당되며 최단거리를 구해야 하므로 BFS(Breadth First Search) 방식으로 해결 할 수 있었다. 우선 BFS란 너비 우선 탐색으로 대표적인 그래프 탐색 방법 중 하나이다. 정점의 자식들을 먼저 탐색하는 방식인 DFS와 다르게 정점들과 같은 레벨에 있는 노드들을 먼저 탐색하는 방식이다. 루트(root)와 가까운 노드들 부터 탐색하기 때문에 최단거리를 구할 때 유용하다. 추가적인 특징으로 두 가지의 큐(Queue)를 사용해야하며 DFS 방식보다 메모리가 많이 사용된다. 풀이 과정 1. 현 지점에서 다음 차례에 갈 수 있는 지점을 리턴하는 함수 만들기 다음의 경우를 제외한 좌표값을 반환하도록 만들었다. 이미 지나..