[프로그래머스] 92343 양과 늑대 - JAVA - Lv3
·
알고리즘/문제풀이
[프로그래머스] 92343 양과 늑대 - JAVA - Lv3문제https://school.programmers.co.kr/learn/courses/30/lessons/92343 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 분석조건2진트리 각 노드의 양이나 늑대가 1마리씩 존재한다.양의 수가 늑대의 수보다 작거나 같으면 양은 잡아먹힌다.루트노드는 양이다.트리를 탐색하며 최대한 많은 양을 모을 때 양의 수를 출력.풀이방법BFS인데 일반적인 BFS가 아니다.방문처리하는 방법이 핵심이라고 생각하는데, 다른 BFS처럼 지금 노드의 번호를 저장하는 것이 아니라 양의 수, 늑대의 수, 방문 가능한 노드들을 ..
[프로그래머스] 72413 합승 택시 요금 - JAVA - Lv.3
·
알고리즘/문제풀이
[프로그래머스] 72413 합승 택시 요금 - JAVA - Lv.3문제https://school.programmers.co.kr/learn/courses/30/lessons/72413 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 분석풀이방법문제는 S에서 두 사람이 택시 합승을 하여 특정 지점(I)까지 같이 이동 후 각자 A, B로 이동할 때 최소 비용을 구하는 문제이다.예시에서 살펴볼 때 최소값은 4>1>5까지 합승을 하고 그 뒤로 5>6, 5>3>2 경로로 A와 B 지점으로 가는 방법이 최소이다.합승하여 갈라지는 지점을 I라 했을 때 최솟값은 S-I, I-A, I-B의 최솟값을 구하면 된다. 다..