https://www.acmicpc.net/problem/14476 알고리즘 분류 : 수학, 정수론, 누적합, 유클리드 호제법❓문제 🔅해석위 문제는 누적합과 유클리드 호제법을 이용하여 풀이해야한다. 먼저 두 수의 최대공약수를 구하는 방법인 유클리드 호제법을 구현한 코드이다.// gcd(a, b) == gcd(b, r) : r = a % bstatic int gcd(int a, int b) { while (b != 0) { int r = a % b; a = b; b = r; } return a;} 이 유클리드 호제법을 통해 나온 최대공약수를 누적합 배열에 담는다. 8 12 24 36 48예를들어, 입력이 위와 같이 들어왔을 때, 8 ~ 48의 최대공약..
*DFS, BFS는 그래프 알고리즘에서 기초가 되는 탐색 방식으로 반드시 숙지가 필요하다. DFS깊이 우선 탐색(Depth First Search)그래프 탐색 방법의 한가지한 경로로 탐색하다 특정 상황에서 최대한 깊숙하게 들어가서 확인 후 다시 돌아가 다른 경로로 탐색하는 방식일반적으로 재귀함수를 사용하여 풀이한다.(stack을 사용하는 문제는 거의 드물다)백트레킹, 단절선 찾기, 단절점 찾기, 위상정렬, 사이클 찾기 등에 사용된다. 풀이 팁현재 방문하고 있는 노드에만 관여한다.필요한 정보(부모가 누구인지, 얼마나 걸렸는지)는 코드를 작성하다 추가하도록 한다.추가하는 방식은 1) 파라미터로 넘기기 2) static 전역 변수 선언하기 방식이 있다. 풀이 순서 (들여쓰기 주의)체크인단순 방문 여부만 체크하..
정보처리기사 때 헷갈렸던 개념을 이제서야 정리해본다.super자손 클래스에서 조상 클래스로부터 상속받은 멤버를 참조하는데 사용되는 참조변수이다.조상 클래스로부터 상속받은 멤버도 자손 클래스 자신의 멤버이므로 super대신 this를 사용할 수 있지만 서로 구별해야하는 경우에 super를 사용하는 것이 좋다. super 예제코드1조상 클래스와 자손 클래스의 멤버 변수가 같은 경우public class SuperTest { public static void main(String[] args) { Child c = new Child(); c.method(); }}class Parent { int x = 10;}class Child extends Parent { int x = 20; void method(..