Algorithm

1. 문제 설명DFS 재귀호출로 푸는 문제이다. 주어진 number의 요소로 +, - 하면서 depth를 추가하여 마지막 최종 깊이에서 target 값과 같은 가짓수를 리턴하는 문제이다.  2. 접근방법처음에 나는 입출력예를 보고 BFS (깊이우선탐색)를 활용하여 문제를 풀려고 했다. 입출력 예를 보면이 부분이 있는데, 아! 전형적인 미로탐색형 탐색문제구나! 라고 생각했다. 그래서 맨 윗줄 한줄을 BFS하며 조합의 합이 target값이 되는 조합을 찾으려했다. 하지만, 생각할수록 오류의 연속이었다. target 값을 만들기 위해 주어진 number의 요소를 어떻게 구성할것인가... 여기서 막혀버렸다. (애초에 잘못 접근했으니 막히지..ㅋㅋ) 결국 30분이 훌쩍 지나 도움을 얻기로 했다..!  3. 해결방..
수학적 개념을 코드로 구현하는 문제이다. 이 문제를 볼때 간단하게 풀 수 있을줄 알았는데, 머리로 알고 있던 수학적 개념을 코드로 옮기는 과정에서 막혔다. 내가 막혔던 부분은 분수를 덧셈하고 분모, 분자를 출력하는 것까진 성공했지만, 약분하는 과정을 생각하지 못했다. 즉, 약분해야할 최대공약수를 구하는 부분에서 막혔던 것이다. import java.util.*;class Solution { public int[] solution(int numer1, int denom1, int numer2, int denom2) { int[] answer = {}; // 통분할 분수의 분모 int totalDenom = 0; // 첫번째..
배열을 다룰 수 있는가? 묻는 문제이다. 시행착오라고 하기엔.. 조금 뭐하지만, sys 모듈을 통해 입력을 받을 때, 개행 입력방법에서 살짝 혼동이 왔다. 바로 해결해서 시행착오까진 아니였다! for loop를 사용, 배열 요소를 5번 반복해 입력받고 배열에 추가한다. 그 다음 sum() 함수를 사용해서 배열 요소 전체합을 구했다. import sys score_list = [] for i in range(5): score_list.append(int(sys.stdin.readline())) print(sum(score_list)) ps. 리스트 컴프리헨션에 대해 공부할 필요성을 느꼈다!
산술연산자를 잘 사용할 수 있는가? 묻는 문제이다. 없음 R1과 R2의 평균값 S를 구할 떈, (R1+R2)/2 = S 식이 성립되는데, 일반 수학 풀듯이 R2를 역산해보면 된다. R2값을 구하려면 R2 = (2*S) - R1 식이 성립되는대, 이 식을 그대로 코딩하면 된다. import sys R1, S = list(map(int, sys.stdin.readline().split())) print(2*S - R1)
Developer KTU
'Algorithm' 태그의 글 목록