전체 글84 그래프 탐색(BFS & DFS) 그래프(Graph) 탐색 그래프는 일련의 노드(node, 정점 ; Vertex) 집합 V와 엣지(edge, 간선) 집합 E로 구성된 자료구조이다. 정점에는 Data가 들어가고, 간선은 그 Data들 간의 관계를 표현한다. 그래서 G = (V, E)와 같이 표현할 수 있다. 간선으로 연결된 두 정점은 관계가 있다고 말할 수 있으며, 이를 인접(Adjacent)하다고 한다. 그래프 탐색 문제는 어떤 하나의 그래프와 해당 그래프의 시작 정점이 주어졌을 때, 시작점에서 간선을 타고 이동할 수 있는 정점들을 모두 찾아야 하는 문제를 의미한다. 이 문제를 해결하기 위한 그래프 탐색 알고리즘에는 너비 우선 탐색과 깊이 우선 탐색이 있다. 그래프의 종류 무향 그래프 : 간선에 방향이 없는 그래프로 가장 기본적인 형태의.. 2023. 1. 18. 누적합(Prefix Sum) 알고리즘 누적합 알고리즘이란? : 나열되어 있는 수를 누적되어 더해진 값을 말한다. 예를 들어 1, 2, 3, 4, 5 에서 첫 번째에서 두 번째까지의 수의 합은 3이고, 첫 번째부터 세 번째까지의 수의 합은 6이다. 첫 번째 수부터 마지막까지 더하면 15이다. 이것을 누적합이라고 한다. 누적합 알고리즘 설명 1) 1부터 5까지의 수열이 있다고 가정해보자. (빨간 숫자는 index이다.) 2) 누적합을 적용한 새로운 수열을 만들어주자. 위와 같이 새로운 누적합 수열은 첫 번째 수 + 두 번째 수, 첫 번째 수 + 두 번째 수 + 세 번째 수, ... 로 만들 수 있다. 새로운 누적합 수열의 해당 인덱스에는 처음 수부터 해당 인덱스까지의 합이 담겨 있다. **그렇다면 특정 구간의 합은 어떻게 구할 수 있을까? a번.. 2023. 1. 10. Android - 액티비티 수명 주기 액티비티 수명 주기 시스템이 알아서 자동으로 call back 총 3가지 상태 활성 상태 - running 중지 상태 - pause 비활성 상태 - stop ondestroy -> 없어졌을 때 자동으로 callback(?) onrestart -> 다른 화면 갔다가 다시 돌아와서 시작할 때? 2022. 4. 22. Android - 기본 TextView의 속성 text : 텍스트 뷰에 보이는 문자열을 설정할 수 있음 textColor : 텍스트뷰에서 표시하는 문자열의 색상을 설정함 textSize : 텍스트뷰에서 표시하는 문자열의 크기를 설정함 ex)14sp textStyle : 텍스트뷰에서 표시하는 문자열의 스타일 속성을 설정함 ex) normal, bold, italic typeFace : 텍스트뷰에서 표시하는 문자열의 폰트를 설정함 ex) normal, sans, serif, monospace maxLines = "1" : 텍스트뷰에서 표시하는 문자열이 한 줄로만 표시되도록 설정함 + baselineAligned -> true : 글자 아래 맞추기 에디트 텍스트의 값을 가져오는 Java코드 3단계 1. 에디트 텍스트 변수 선언 Ed.. 2022. 4. 21. Android - 여러 화면 간 전환하기 1. 레이아웃 인플레이션 이해하기 - xml 레이아웃 파일과 자바 소스 파일의 매칭 setContentView 메소드에서 xml 레이아웃 파일 매칭 ex) setContentView(R.layout.activity_main); // xml 레이아웃 파일(activity_main)을 자바 소스 코드 파일(MainActivity.java)로 매칭 R.layout.레이아웃 파일 이름 * 인플레이션이란? - 인플레이션 : xml 레이아웃에 정의된 내용이 메모리에 객체화되는 과정 => 메모리에 로딩이 되어서 객체화 된다. 자바 코드에서 id로 참조하여 사용한다. * setContentView()코드와 findViewById() 메소드의 호출 순서를 바꾼 경우 앱이 실행되지 않음!!! 그 이유는 메모리에 로딩(객체.. 2022. 4. 19. Android - 알림 대화상자 보여주기 토스트와 함께 많이 사용되는 알림 대화상자 (토스트를 맛있게 튀겨보자!) - 사용자에게 확인을 받거나 선택하게 할 때 사용한다. - '예', '아니오' 같은 전형적인 응답을 처리한다. public class MainActivity extends AppCompatActivity { TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = findViewById(R.id.textView); Button button = findViewById(R.id.button); .. 2022. 4. 18. 이전 1 ··· 10 11 12 13 14 다음